网站首页 > 文章中心 > 其它

go语言转json

作者:小编 更新时间:2023-09-10 10:32:11 浏览量:257人看过

Go语言JSON 处理

运行结果

struct能被转换的字段都是首字母大写的字段,但如果想要在json中使用小写字母开头的key,可以使用struct的tag来辅助反射.

运行结果:

测试代码

今天这一节插入图片描述

go语言转json-图1

GoLang -- json文件操作

json格式可以算我们日常最常用的序列化格式之一了,Go语言作为一个由Google开发,号称互联网的C语言的语言,自然也对JSON格式支持很好.官方提供的Json解析包已经非常强大,我们此时此刻呢讲解Json的序列化与反序列化操作.另外还有一些第三方的Json解析库,也能够高效的操作Json对象,比如simplejson,ffjson等.下面是两个比较重要的函数:

Json Marshal:将数据编码成json字符串

Marshal 用于将struct对象序列化到json对象中.v是interface{}类型,任何类型都实现了空接口.

①.:tag中的第一个参数是用来指定别名,比如Name 指定别名为 username +json:"username"+

struct序列化为Json

slice序列化为Json

go语言转json-图2

map 序列化为Json

Json Unmarshal:将json字符串解码到相应的数据结构,Unmarshal的第一个参数是[]byte,第二个参数是接受json解析的数据结构.

下面我们依次讲解Json的操作.

①.:将Json序列化进入结构体

Go语言处理JSon字段

完整的一条json语句中,字段都为字符串类型,值为基本数据类型:整形、布尔型、字符串等

在解析json时,通常要用到encoding/json这个包

json.Unmarshal()方法用作将一个json类型的字节流,序列化成指定的形式,可以为map,也可以为自定义的结构体,需要注意的是,希望被转换的格式需要以指针类型传入

运行结果如下

将map或者struct打包成json,用的是json中的marshal方法,返回的是一个字节数组和一个错误类型

打印结果

go语言json处理

json是一种经常使用的数据格式,下面最后提醒一下大家json的使用

json与struct转换的话struct的属性必须首字母大写.

当用的多了就会发现一个致命的问题:go默认会将特殊字符转义采用以下方法可以解决:

go语言转json-图3

处理方法1

不管是属性组成的还是Tag组成的json字符串,都可以正常的解析

tag:

json:"-" // 表示不进行序列化

IsOnSale bool json:"is_on_sale,string" //序列化后转成string

序列化或者反序列化时可以指定类型,支持string,number和boolean

IsOnSale bool json:"is_on_sale,string"

注意:

正确使用第一个,第二个回报错

以上就是土嘎嘎小编为大家整理的go语言转json相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章