gpt4 book ai didi

python - 是否有一些库可以促进 golang 中 JSON 的操作?

转载 作者:IT王子 更新时间:2023-10-29 02:26:25 26 4
gpt4 key购买 nike

当我写 python 时,我喜欢这样做:

d = {"apple": "red", "book":["history", "art", "science"]}
print json.JSONEncoder().encode(d)

然后我得到JSON字符串

'{"apple":"red","book":["history","art","science"]}'

但是当我想在 Golang 中这样做时,事情变得更加复杂,我必须先定义结构:

type Gadget struct {
Apple string
Book []string
}
g := Gadget{Apple: "red", Book: []string{"history", "art", "science"}}
bytes, _ := json.Marshal(g)
fmt.Println(string(bytes))

是否有一些 golang 库可以帮助我像 python 一样操作 JSON 字符串?我可能有许多 JSON,它们具有不同的结构来处理。给它们全部下定义是一件繁琐的工作。我什至不认为有 lib,因为 golang 中没有索引运算符重载机制。

你们怎么说?

最佳答案

问题会偏离主题,因为它要求场外资源,但可以使用标准库解决,因此:

你不需要结构,你可以只使用嵌入式映射和 slice ,它们可以对所有数据结构进行建模。

你的例子:

err := json.NewEncoder(os.Stdout).Encode(map[string]interface{}{
"apple": "red",
"book": []interface{}{
"history", "art", "science",
},
})
fmt.Println(err)

输出(在 Go Playground 上尝试):

{"apple":"red","book":["history","art","science"]}
<nil>

关于python - 是否有一些库可以促进 golang 中 JSON 的操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42295801/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com