我有一个包含字符串作为 []byte 字段的结构,我想将其编码为 JSON。但是,生成的 JSON 包含切片内容的非预期字符串表示形式。这是我所指的一个例子:package mainimport ( "fmt" "encoding/json" )type Msg struct { Content []byte}func main() { helloStr := "Hello" helloSlc := []byte(helloStr) fmt.Println(helloStr, helloSlc) obj := Msg{helloSlc} json, _ := json.Marshal(obj) fmt.Println(string(json))}这会产生以下输出:Hello [72 101 108 108 111]{"Content":"SGVsbG8="}json.Marshal()方法对 []byte 编码的字符串执行什么样的转换。如何使用字符串 {"Content":"Hello"} 的原始内容生成 JSON?
2 回答
慕码人8056858
TA贡献1803条经验 获得超6个赞
我遇到了同样的事情,即使这是一个相当古老的问题并且已经回答,还有另一种选择。
如果您使用json.RawMessage
(which internaly is a []byte) 作为类型而不是[]byte
按预期方式将编组工作到 Json 字符串中。
- 2 回答
- 0 关注
- 187 浏览
添加回答
举报
0/150
提交
取消