gpt4 book ai didi

json - 编码(marshal) map 到 JSON

转载 作者:IT王子 更新时间:2023-10-29 01:55:31 29 4
gpt4 key购买 nike

我正在开始从 Python 迁移到 GoLang,我正在努力了解数据类型。我需要将 map 编码到以下 JSON,但我不太确定应该如何构建我的 map 。

这是我尝试过的方法,但它对我不起作用。

data := map[string]string{"Offset": "0", "Properties": map[string]string{"key": "Type", "value": "User"}, "Category": "all", "Locations": map[string]string{}, "Accounts": "100" }
data_json, _ := json.Marshal(data)
fmt.Println(string(data_json))

期望的结果:

{
"Locations": [],
"Dates": [],
"Properties": [
{
"key": "Type",
"value": "User"
}
],
"Category": "all",
"Accounts": [],
"Offset": 0,
"Limit": 100
}

最佳答案

问题是您声称要将字符串映射写入字符串(键是字符串,值是字符串)。但是你有键/值对:"Properties": map[string]string{"key": "Type", "value": "User"},那个值不是字符串,这是另一张 map 。如果您将数据定义为字符串到接口(interface)的映射,它应该可以工作。这看起来更像这样:

data := map[string]interface{}{"Offset": "0", "Properties": map[string]string{"key": "Type", "value": "User"}, "Category": "all", "Locations": map[string]string{}, "Accounts": "100" }

这是一个工作示例: http://play.golang.org/p/HjHH463J_r

如果您不确定接口(interface)是什么以及它们为什么起作用,文档对此进行了很好的解释。

关于json - 编码(marshal) map 到 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27533921/

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