-- --
⎯⎯ 做有用的事,说勇敢的话,想美好的事,睡安稳的觉,把时间用在进步上,而不是抱怨上。

--

 0  |   |   0

0/

     
说 明

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"`
}