
在 Go 中将 JSON 文件读取为 JSON 对象
要在 Go 中将 JSON 文件读取为 JSON 对象,理解这个概念至关重要指针和类型断言。
读取 JSON文件
1 2 3 4 | plan, err := ioutil.ReadFile(filename)
if err != nil {
log.Fatal(err)
}
|
登录后复制
解组数据
要存储 JSON 对象,您需要一个指向变量的指针,如 Go 文档中所指定:
1 2 3 4 | var data interface {}
if err := json.Unmarshal(plan, &data); err != nil {
log.Fatal(err)
}
|
登录后复制
这会将 JSON 对象存储在由data.
访问 JSON 对象
由于数据是一个接口,因此必须使用类型断言来访问其底层值:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | switch data := data.(type) {
case map[string] interface {}:
for key, value := range data {
fmt.Println(key, value)
}
case [] interface {}:
for _, value := range data {
fmt.Println(value)
}
default :
}
|
登录后复制
编组调试
如果需要查看 JSON对象作为字符串用于调试目的,您可以使用:
1 2 3 4 5 | jsonString, err := json.Marshal(data)
if err != nil {
log.Fatal(err)
}
fmt.Println(string(jsonString))
|
登录后复制
注意:
- 确保 JSON 文件格式正确并包含有效的 JSON data.
- 尽可能使用特定的数据结构来填充 JSON,而不是空的界面。
以上是如何在 Go 中将 JSON 文件读取为 JSON 对象?的详细内容。更多信息请关注PHP中文网其他相关文章!