golang 如何转换包含 json 字段的结构体为 string

2020-09-18 11:50:05 +08:00
 bandian

现在有一个结构体是这样的:

type H struct{
	Id int `json:"id"`
    Data json.RawMessage `json:"data"`
}

请问如何才能将这个结构体转换为字符串?

首先 data 是可以包含中文的,所以直接打印 H 可能会无法显示中文,单独把其中的 Data 使用 string(H.Data) 转换的话虽然可用,但是如果字段多的话,这种方式就有点麻烦了。

1011 次点击
所在节点    问与答
2 条回复
treblex
2020-09-18 12:00:09 +08:00
编码成 json 呗 json.NewDecoder(resp.Body).Decode(&result)
caoyouming
2020-09-18 14:58:24 +08:00
定义为*json.RawMessage 类型?否则 Data 会被认为是[]byte 类型,在打包时会被打包成 base64 编码的字符串。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/708241

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX