【店小二】公告:
json转struct
| | |
功能介绍
1.支持解析嵌套 json 串, 根据递归进行解析嵌套对象
2.支持解析数组 json 串, 会取数组中第一个 json 串进行解析 3.支持注入自定义 tag
4.检查 json 串格式是否正确, 输出错误的位置
示例
解析嵌套 json 串
{
"name": "test",
"age": 10,
"addr": "四川成都",
"cls_info": [
{
"name": "篮球班",
"teacher": "张老师"
},
{
"name": "美术班",
"teacher": "李老师"
}
]
}
处理后
type GenerateStruct struct {
Name string `json:"name,omitempty"`
Age int `json:"age,omitempty"`
Addr string `json:"addr,omitempty"`
ClsInfo []ClsInfo `json:"cls_info,omitempty"`
}
type ClsInfo struct {
Name string `json:"name,omitempty"`
Teacher string `json:"teacher,omitempty"`
}
直接解析数组 json 串
[
{
"name": "test",
"age": 10,
"addr": "四川成都",
"cls_info": [
{
"name": "篮球班",
"teacher": "张老师"
},
{
"name": "美术班",
"teacher": "李老师"
}
]
},
{
"name": "test2",
"age": 10,
"addr": "四川成都",
"cls_info": [
{
"name": "篮球班",
"teacher": "张老师"
},
{
"name": "美术班",
"teacher": "李老师"
}
]
}
]
处理后
type GenerateStruct struct {
Name string `json:"name,omitempty"`
Age int `json:"age,omitempty"`
Addr string `json:"addr,omitempty"`
ClsInfo []ClsInfo `json:"cls_info,omitempty"`
}
type ClsInfo struct {
Name string `json:"name,omitempty"`
Teacher string `json:"teacher,omitempty"`
}