共计 827 个字符,预计需要花费 3 分钟才能阅读完成。
前言
有时候在用 go 写一些功能的时候,定义好了 struct,但是在一些地方(比如前端工程或 api 接口数据定义)都需要使用到这个结构体对应的 JSON 数据。
之前找到了一个 goland 的插件:go-struct-to-json,不过好像只支持一级属性,二级的就不支持了。于是乎就自己造轮子,集成到了 油条工具箱,下面来说说具体有哪些用法吧!
使用
例如我们现在有一个结构体,是这样的:
type Account struct {
    Id int64
    Name string
    Age int
    Address string
}
如果我们需要转换,打开工具地址:Go 结构体 /JSON 转换 ,然后输入,点击最下方的Go 结构体转 JSON 即可:

最终输出结果为:
{
    "Id": 0,
    "Name": "",
    "Age": 0,
    "Address": ""
}
Tag 支持
如果不想以字段名作为 json 字段,那么此工具同样支持 go 语言的 tag 属性,这是我们则需要输入:
type Account struct {
    Id      int64 `json:"id"`
    //...
}
结果为:
{"id": 0}
同理,也支持忽略字段,只需要在 tag 中写入 json:"-" 即可
内嵌结构体支持
此工具也同样支持内嵌结构体,例如:
type Account struct {
    Id      int64 `json:"id"`
    Address struct {
        City   string `json:"city"`
        Street string `json:"street"`
        Number int    `json:"number"`
    } `json:"address"`
}
结果为:
{
    "id": 0,
    "address": {
        "city": "",
        "street": "",
        "number": 0
    }
}
JSON 转结构体
同样,本工具也支持 json 转为 go 的结构体,只需要将 json 代码输入到右侧 json 一栏中,点击下方的 JSON 转 Go 结构体 即可,这里就不过多叙述。
后记
如果大家在使用油条工具箱过程中,有任何建议或问题可以支持在此反馈,希望此工具能够帮助到你!
共计23人点赞,其中2人来自小程序
正文完
                                                    使用官方微信小程序体验更多功能
                                
                            
                        
                                    

