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

5,799次阅读
一条评论

共计 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 即可:
首发!浏览器端通过 Go Struct 生成 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 结构体 即可,这里就不过多叙述。

后记

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

Lu 沛霖主页

共计22人点赞,其中2人来自小程序

正文完
使用官方微信小程序体验更多功能
post-qrcode
 22
憧憬Licoy
版权声明:本站原创文章,由 憧憬Licoy 于2022-07-07发表,共计827字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(一条评论)
老马 评论达人 LV.1
2023-12-24 11:34:33 回复

感谢分享

 Windows  Chrome  中国江苏省无锡市电信