README.md

    由谷歌官方json直接复制而来

    1.增加结构体首字母默认小写功能

    StructFirstLower=true表示首字母小写(tag的优先级最高,有tag则根据tag)
    示例:
    type Test struct {
        Data int
        Data2 int `json:"D2"`
    }
    赋值并解析成json:{"data":10,"D2":20}

    2.增加map、list、slide转结构体的功能

    Map2Struct(map[string]interface{}类型转结构体)
    List2Struct([]map[string]interface{}转结构体)
    Obj2Struct(上面两个的拓展,支持map[string]任意类型)
    TimeFormatType(Time类型格式化为整数时是按秒毫秒还是纳秒来计算,默认毫秒)

    3.空数据默认不返回

    移除原始的tag"omitempty",新增"keepEmpty",想返回空数据加上此tag即可
    
    示例,第一个data是必填,第二个keepEmpty表示空也返回:
    type Test struct {
        Data interface{} `json:"data,keepEmpty"` //空也返回
    }
    
    全局增加空数据返回:StructKeepType
    示例,想全局让boolean、string、整形这三个空都返回
    type TestKeepStruct struct {
        Bo  bool
        It  uint
        St  string
        Ar  []string
    }
    json.StructKeepType = json.KeepEmptyBool | json.KeepEmptyNumber | json.KeepEmptyString
    结构体数据均为空,调用以上代码后返回的json:{"bo":false,"it":0,"st":""}

    4.将Time转json时默认格式为YY-MM-DD HH:mm:ss

    修改格式:BaseTimeFormat
    修改时区将time.Local改为对应的时区即可,如修改为0时区:time.Local = time.UTC

    导入方式

    导入或更新:go get -u github.com/weimingjue/json

    项目简介

    🚀 Github 镜像仓库 🚀

    源项目地址

    https://github.com/weimingjue/json

    发行版本

    当前项目没有发行版本

    贡献者 1

    王能 @weimingjue1

    开发语言

    • Go 100.0 %