GO在线工具集
首页
搜索
插件
致Boss

json转struct
15007  |   |   |  115

功能介绍

1.支持解析嵌套 json 串, 根据递归进行解析嵌套对象
2.支持解析数组 json 串, 会取数组中第一个 json 串进行解析 3.支持注入自定义 tag
4.检查 json 串格式是否正确, 输出错误的位置
5.支持按行解析注释

示例

解析嵌套 json 串

{
    "name": "test", // 姓名
    "age": 10, // 年龄
    "addr": "四川成都", // 地址
    "cls_info": [ // 班级
        {
            "name": "篮球班", // 班名
            "teacher": "张老师" // 老师
        },
        {
            "name": "美术班", // 班名
            "teacher": "李老师" // 老师
        }
    ]
}

处理后

type ClsInfo struct {
    Name string `json:"name"` // 班名
    Teacher string `json:"teacher"` // 老师
}


type GenerateObj struct {
    Name string `json:"name"` // 姓名
    Age int `json:"age"` // 年龄
    Addr string `json:"addr"` // 地址
    ClsInfo []ClsInfo `json:"cls_info"` // 班级
}

直接解析数组 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"`
}