Golang JSON

1 Apr 2025 | 2 分钟阅读

Go 语言内置支持 JSON 编码和解码,也支持自定义数据类型。

Marshal 函数用于将 Go 数据类型转换为 JSON 格式。

Marshal 函数的语法是

Marshal 返回 v 的 JSON 编码。

布尔值转换为 JSON 布尔值。浮点数、整数和 Number 转换为 JSON 数字。 map 的键类型必须是字符串、整数类型或实现 encoding.TextMarshaler 接口。

JSON 的解码使用 Unmarshal 函数完成。

Unmarshal 函数的语法是

Unmarshal 解码 JSON 编码的值,并将结果存储在 v 指向的值中。如果 v 为 nil 或不是指针,Unmarshal 将返回 InvalidUnmarshalError 错误。

我们还可以自定义存储在结构字段标签中的 "json" 键下的字段。我们可以使用字段的名称,后跟一个逗号分隔的选项列表。例如

Go JSON 示例 1

输出

false
10
3.14
"JavaTpoint"
["sun","moon","star"]
{"moon":2,"sun":1}

Go JSON 示例 2(用户定义的数据类型)

输出

{"Position":1,"Planet":["mercury","venus","earth"]}
{"position":1,"planet":["mercury","venus","earth"]}
map[pi:6.13 place:[New York New Delhi]]
6.13
New York
{1 [mercury venus]}
venus
{"1":"mercury","2":"venus"}
 
下一个主题Golang 面试问题