首页  >  文章  >  后端开发  >  可以使用 MarshalJSON() 将任意字段添加到 Go 中的 JSON 编码中吗?

可以使用 MarshalJSON() 将任意字段添加到 Go 中的 JSON 编码中吗?

Barbara Streisand
Barbara Streisand原创
2024-11-12 08:47:01549浏览

Can You Add Arbitrary Fields to JSON Encoding in Go Using MarshalJSON()?

如何使用 MarshalJSON() 在 Go 中添加任意字段到 JSON 编码

问题:

使用 json.Marshal() 编码结构体时,你可能会遇到这样的需求在 JSON 输出中包含不属于结构定义的其他字段。这对于需要向 JSON 负载添加元数据或上下文信息的场景非常有用。

问题:

是否可以利用 MarshalJSON() 方法将任意字段合并到 JSON 表示中struct?

答案:

是的,您可以使用 MarshalJSON() 在 Go 中向 JSON 编码添加任意字段。此方法允许您自定义结构体的 JSON 表示,从而更好地控制输出。

实现:

您可以为以下对象创建自定义 MarshalJSON() 方法您的结构体使用附加字段构造一个新结构体,然后将其编组为 JSON:

type Book struct {

以上是可以使用 MarshalJSON() 将任意字段添加到 Go 中的 JSON 编码中吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn