问题内容
以前写过python,刚开始接触golang
以我的json为例,孩子不认识数字,可能是三,可能是十。
[{
"id": 1,
"name": "aaa",
"children": [{
"id": 2,
"name": "bbb",
"children": [{
"id": 3,
"name": "ccc",
"children": [{
"id": 4,
"name": "ddd",
"children": []
}]
}]
}]
}]
我写结构
type AutoGenerated []struct {
ID int `json:"id"`
Name string `json:"name"`
Children []struct {
ID int `json:"id"`
Name string `json:"name"`
Children []struct {
ID int `json:"id"`
Name string `json:"name"`
Children []struct {
ID int `json:"id"`
Name string `json:"name"`
Children []interface{} `json:"children"`
} `json:"children"`
} `json:"children"`
} `json:"children"`
}
但我觉得这太愚蠢了。 如何优化?
正确答案
您可以在其定义中重用 autogenerate
类型:
type autogenerated []struct {
id int `json:"id"`
name string `json:"name"`
children autogenerated `json:"children"`
}
测试它:
var o autogenerated
if err := json.unmarshal([]byte(src), &o); err != nil {
panic(err)
}
fmt.println(o)
(src
是您的 json 输入字符串。)
输出(在 go playground 上尝试):
[{1 aaa [{2 bbb [{3 ccc [{4 ddd []}]}]}]}]
如果 autogenerate
本身不是切片,则更容易理解和使用:
type autogenerated struct {
id int `json:"id"`
name string `json:"name"`
children []autogenerated `json:"children"`
}
然后使用它/测试它:
var o []AutoGenerated
if err := json.Unmarshal([]byte(src), &o); err != nil {
panic(err)
}
fmt.Println(o)
输出相同。在 go playground 上尝试一下这个。
以上就是golang递归json到结构?的详细内容,更多请关注编程网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容猜你喜欢
AI推送时光机golang递归json到结构?
后端开发2024-02-06
数据结构 二叉树的递归与非递归
后端开发2022-06-04
C++ 函数递归详解:递归遍历树形结构
后端开发2024-05-04
golang通过递归遍历生成树状结构的操作
后端开发2024-04-02
怎么在golang中通过递归遍历生成树状结构
后端开发2023-06-14
java递归实现树形结构数据
后端开发2023-08-18
vue递归组件实现树形结构
后端开发2024-04-02
C++ 函数的递归实现:如何使用递归来构建复杂数据结构?
后端开发2024-04-22
Javascript中怎么递归实现结构树
后端开发2024-04-02
Python数据结构之递归方法详解
后端开发2024-04-02
python数据结构之递归方法讲解
后端开发2024-04-02
Go Lang 中的 JSON 结构到 csv
后端开发2024-04-05
Golang如何实现Json转结构体
后端开发2023-07-05
Golang怎么实现Json转结构体
后端开发2023-07-05
Python数据结构之递归可视化详解
后端开发2024-04-02
SQL的递归查询子/父节点结构(MySQL)
后端开发2023-08-17
Python数据结构之递归方法怎么用
后端开发2023-06-30
递归扩展包含指针的结构定义
后端开发2024-04-05
vue开发树形结构组件(组件递归)
后端开发2024-04-02
mysql递归查询树形结构怎么应用
后端开发2023-10-25
咦!没有更多了?去看看其它编程学习网 内容吧