首发!浏览器端通过Go Struct生成JSON模型

640次阅读
没有评论

前言

有时候在用 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 结构体 即可,这里就不过多叙述。

后记

如果大家在使用油条工具箱过程中,有任何建议或问题可以支持在此反馈,希望此工具能够帮助到你!

6
憧憬Licoy
版权声明:本站原创文章,由 憧憬Licoy 2022-07-07发表,共计827字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码
载入中...