关于json格式化输出json.MarshalIndent()的使用

JSON(JavaScript Object Notation, JS对象标记)是一种轻显级的数据交换格式。它基于ECMAScript规范的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写, 同时也易于机器解析和生成,并有效地提升网络传输效率。

Marshal

func Marshal(v interface{}) ([]byte, error)

uploading.gif转存失败重新上传取消

把对象转化为JSON:

  • 布尔型转换为JSON后仍是布尔型, 如true -> true

  • 浮点型和整数型转换后为JSON里面的常规数字,如1.23 -> 1.23

  • 字符串将以UTF-8编码转化输出为Unicode字符集的字符串,特殊字符比如<将会被转义为\u003c

  • 数组和切片被转换为JSON里面的数组,[]byte类 会被转换为base64编码后的字符串,slice的零值被转换为null

  • 结构体会转化为JSON对象,并且只有结构体里边以大写字母开头的可被导出的字段才会被转化输出,而这些可导出的字段会作为JSON对象的字符串索引

  •  转化一个map类型的数据结构时,该数据的类型必须是map[string]T (T可以是encoding/json包支持的任意数据类型)

MarshalIndent()

uploading.gif转存失败重新上传取消

总结出两个问题:

uploading.gif转存失败重新上传取消

解释:

uploading.gif转存失败重新上传取消

MarshalIndent方法的代码如下:

    

uploading.gif转存失败重新上传取消

发布了85 篇原创文章 · 获赞 28 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/judgejames/article/details/100105777