golang encoding/json 使用基础

json 与 encoding/json

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于 ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。json具有以下特点:

  • 易读性:JSON 格式的数据易于阅读和编写,同时也易于机器解析和生成。
  • 轻量级:JSON 的数据格式非常简单,使得数据的传输和存储更加高效。
  • 跨语言:JSON 是一种中立的数据格式,可以被多种编程语言所支持。

encoding/json 是 Go 语言标准库中的一个重要包,它提供了对 JSON 数据格式的编码(序列化)和解码(反序列化)支持;它使得 Go 语言能够轻松、高效地处理 JSON 数据,使得开发者能够方便地将 Go 数据结构序列化为 JSON 格式的字符串,或者将 JSON 字符串反序列化为 Go 的数据结构。

说明

提供的方法

Compact
func Compact(dst *bytes.Buffer, src []byte) error

作用:Compact函数会将src省略不重要的空格字符后追加到json编码的src中。

HTMLEscape
func HTMLEscape(dst *bytes.Buffer, src []byte)

作用:在JSON编码的src中附加<,>,&,U+2028 和 U+2029 字符,字符串字面量更改为 \u003c, \u003e, \u0026, \u2028, \u2029,以便JSON可以安全地嵌入HTML以及script标记中。由于历史原因,web浏览器不支持script标签内的标准HTML转义,因此必须使用替代的JSON编码。

Indent
func Indent(dst *bytes.Buffer, src []byte, prefix, indent string) error

Indent 函数接收一个 JSON 字节切片(通常是通过 Marshal 或 MarshalIndent 函数生成的),以及两个字符串参数:prefix(前缀)和indext(缩进)字符串。函数返回一个新的字节切片,函数内部会将传入其中的 JSON 数据重新格式化,为每个 JSON 对象的键和字符串值都添加前缀和缩进字符串。

Marshal
func Marshal(v any) ([]byte, error)

Marshal 函数用于将 Go 语言中的数据结构(如结构体、切片、映射等)序列化为 JSON 格式字节切片。函数接收一个 Go 语言的对象(可以是任何可以被编码为 JSON 的类型)作为参数,返回一个将该对应值用 JSON 表示的字节切片。

Unmarshal
func 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值