首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >go :tag实现json字段转换

go :tag实现json字段转换

原创
作者头像
IT工作者
发布于 2022-07-22 22:27:59
发布于 2022-07-22 22:27:59
1.6K0
举报
文章被收录于专栏:程序技术知识程序技术知识

我们都知道go的struct中,如果字段需要对外使用,就需要使用首字母大写的格式,但是如果API中约定要使用小写字母开头呢?

比如:

代码语言:javascript
复制
type CbsVolume struct {

    // cbs id
    CbsDiskId *string 

    // fs类型
    FsType *string 

    // 是否只读
    ReadOnly *bool 
}

此时如果执行json.Marshal(),结构体会有三个字段CbsDiskId,FsType,ReadOnly,都是首字母大写的

如果我们要想使用小写的,可以借助tag实现

代码语言:javascript
复制
type CbsVolume struct {

    // cbs id
    CbsDiskId *string `json:"cbsDiskId,omitempty" name:"cbsDiskId"`

    // fs类型
    FsType *string `json:"fsType,omitempty" name:"fsType"`

    // 是否只读
    ReadOnly *bool `json:"readOnly,omitempty" name:"readOnly"`
}

此时转换出来的json中 三个字段首字母都是小写

一句话: go的 tag 可以帮你在零污染实体的前提下实现json的自定义

什么大小写转换,驼峰转化都是可以实现的

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档