2 回答

TA贡献1853条经验 获得超18个赞
json.Marshal函数返回,因此您在输出中看到的是 JSON 结果中每个字节的十进制表示形式。您必须直接将返回的转换为字符串,如下所示[]byte[]bytejson.Marshal
jsonUsers, err := json.Marshal(users)
if err != nil {
log.Fatal(err)
}
fmt.Println(string(jsonUsers))
或使用格式化程序
jsonUsers, err := json.Marshal(users)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%s", jsonUsers)
我还建议您阅读软件包文档,以便找到如何设置JSON格式。encoding/json

TA贡献1815条经验 获得超6个赞
用string(jsonbytecode)
type B struct {
C int
D int
}
func main() {
b := B{C: 4, D: 5}
js, _ := json.Marshal(b)
fmt.Println(js)
fmt.Println(string(js))
}
这是输出,转换为 JSONstring(js)
[123 34 67 34 58 52 44 34 68 34 58 53 125]
{"C":4,"D":5}
- 2 回答
- 0 关注
- 84 浏览
添加回答
举报