Golang 多个 json
短信预约 -IT技能 免费直播动态提醒
php小编香蕉为您介绍Golang多个JSON的处理方式。在Golang中,我们经常需要处理多个JSON对象的情况,例如从API接口获取的数据可能是一个JSON数组。为了方便处理这种情况,我们可以使用Golang的JSON包来解析和处理多个JSON对象。使用JSON包,我们可以将JSON数据解析成Golang中的结构体,然后对结构体进行操作和处理。这样,我们就可以轻松地处理多个JSON对象了。当然,我们也可以使用一些第三方库,如GJSON等,来更加灵活和高效地处理多个JSON对象。总的来说,Golang提供了多种处理多个JSON对象的方式,开发者可以根据自己的需求来选择合适的方法。
问题内容
我有一个发送给客户端的 json,它有 2 种变体,所有的区别都在于一个字段名称推/拉,我怎样才能做到这一点而不为了一个而复制结构标签
"message": "Project updated successfully.",
"data": {
"push": {
"projects": [
{
"name": "test",
"summary": "nn",
}
],
"events": []
}
}
}
"message": "Project updated successfully.",
"data": {
"pull": {
"projects": [
{
"name": "test",
"summary": "nn",
}
],
"events": []
}
}
}
`
我正在考虑制作日期字段接口并替换不同的结构
解决方法
只需定义具有 Push 和 Pull 字段的单一类型:
type A struct {
Message string `json:"message"`
Data struct {
Push *B `json:"push,omitempty"`
Pull *B `json:"pull,omitempty"`
} `json:"data"`
}
type B struct {
Projects []struct {
Name string `json:"name"`
Summary string `json:"summary"`
} `json:"projects"`
Events []interface{} `json:"events"`
}
解码后检查 nil 以确定代表的是哪种类型的事件。
以上就是Golang 多个 json的详细内容,更多请关注编程网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341