Golang 中 JSON 解析结构体

一、 StructTag 介绍

StructTag 是 go 语言结构体中的一个标记字段,放在字段声明的后面,一般只有特定情况下会用到,如 json 的转化。

使用的时候只要把标记的字段用两个`包起来即可,标签内的语法形式通常为 key:"value",多个标记用空格隔开。

二、 Struct 转 Json

要想把 struct 转化成 json,只要把结构体内的字段名设置成导出状态,也就是把首字母大写就行了,默认情况下,转化后的 json 中的 key 值和结构体中的字段名是一样的。

三、 Json 转 struct

而在把 json 转化成 struct 的时候,要求 json 和结构体的字段一致才能被成功转化,否则转化后的数据就可能和我们想的不一样。

要注意的是这里可以忽略大小写。

四、使用 tag

以上都没有 tag 就能相互转化,说起来好像 tag 并没有什么用!事实的确也就是这样,tag 其实在这里并不是必需的。

但如果我们期望转化后的 json 字段名和 struct 里的不一样的话,就得用到 tag 了。

tag 在这里的用途就是提供别名,让两者的转化更加灵活。

tag 的使用格式为 json:"***" 、 『(***我们期望 json 转化过后的名字)

输出:

发表评论