Golang中JSON解析结构体

马谦马谦马谦 2017年8月25日23:14:01 发表评论
文章最后编辑于:2017-11-18 16:47:45

一、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转化过后的名字)

输出:

本文共执行44次查询,耗时0.293秒!
马谦马谦马谦

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: