dictionary - 如何在go中使用空结构值制作地图
问题描述
如何制作这种结构的地图:
{
"A": [
{
"name": "My name",
"desc": "aaaa",
"sub": [] //empty
},
{
"name": "Loc",
"desc": "bbbb"
"sub": [
{
"name": "xxxxx",
"desc": "aaaa",
},
{
"name": "yyyyy",
"desc": "aaaa",
},
]
},
],
"B": [
{
"name": "My name b",
"desc": "cccc",
"sub": [] //empty
},
{
"name": "tyty",
"desc": "ffff"
"sub": [
{
"name": "rrrrrr",
"desc": "descrition",
}
]
},
]
}
我试图这样做,但我没有得到它。如何制作空结构/数组以及如何在结构中制作结构?
键入 myStruct 结构 { 名称字符串`json:"name"` 描述字符串`json:"desc"` // ?? 子 myStruct `json:"sub"` } m := 地图[字符串]接口{}{ “A”:[]myStruct{ {“我的名字”,“aaaa”,[]???}, {“Loc”,“bbbb”,???}, }, }
解决方案
您的原始 JSON 中有一些拼写错误,但使用JSON-to-Go等在线服务会产生以下结构定义:
type AutoGenerated struct {
A []struct {
Name string `json:"name"`
Desc string `json:"desc"`
Sub []interface{} `json:"sub"`
} `json:"A"`
B []struct {
Name string `json:"name"`
Desc string `json:"desc"`
Sub []interface{} `json:"sub"`
} `json:"B"`
}
仅供参考,下面是我使用的 JSON 的清理/语法更正版本:
{
"A": [
{
"name": "My name",
"desc": "aaaa",
"sub": []
},
{
"name": "Loc",
"desc": "bbbb",
"sub": [
{
"name": "xxxxx",
"desc": "aaaa"
},
{
"name": "yyyyy",
"desc": "aaaa"
}
]
}
],
"B": [
{
"name": "My name b",
"desc": "cccc",
"sub": []
},
{
"name": "tyty",
"desc": "ffff",
"sub": [
{
"name": "rrrrrr",
"desc": "descrition"
}
]
}
]
}
推荐阅读
- angular - mat-select 不显示最初选择的项目
- javascript - 使用 javascript 连接到启用 HTTP 身份验证的远程 geth 节点
- java - 无法在三星 A5 (2016) 上使用 Toast
- c - 为什么我不能只使用 51 <= j <= 55?/ 数据类型
- java - 帆布油漆 - 红色和绿色倒置
- node.js - WARN tar EISDIR:对目录的非法操作
- python - 在 Pandas DataFrame 中使用 .at 设置值,无法理解的类型错误
- javascript - 如果正文有 fullpagejs 类播放视频 youtube api
- mongoose - 如何使用架构创建新文档?
- java - 向我的数组列表添加新元素显示错误