gpt4 book ai didi

json - Go 中的嵌套数据结构 - Python 等价物

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

我可以很容易地在 Python 中创建这个数据结构:

data = {'Locations': [],
'Dates': [],
'Properties': [{'key': 'data1', 'value': 'data2'}],
'Category': 'all'}

然后可以很容易地在 Python 中将其编码为 JSON。例如

print json.dumps(data)

{"Category": "all", "Dates": [], "Locations": [], "Properties": [{"value": "data2", "key": "data1"}]}

但是,我正在努力尝试创建相同的结构,然后在 Go 中将其转换为 JSON。 Go 看起来非常有前途,而且正是我创建跨平台应用程序所需要的,但是天哪,这东西似乎非常困难。

这是我尝试过的方法,但是我无法获得包含应包含在属性元素周围的方括号的结构。

import (
"fmt"
"encoding/json"
)

func main() {

data := map[string]interface{}{"Offset": "0", "Properties": map[string]string{"value": "data2", "key": "data1"}, "Category": "all", "Locations": []string{}, "Dates": []string{} }
data_json, _ := json.Marshal(data)
fmt.Println(string(data_json))
}

哪些输出:

{"Category":"all","Dates":[],"Locations":[],"Offset":"0","Properties":{"key":"data1","value":"data2"}}

这是一个演示:http://play.golang.org/p/49Kytg6v_C

最佳答案

你只需要创建一个 map[string]string 的 slice :

data := map[string]interface{}{
"Offset": "0",
"Properties": []map[string]string{{"value": "data2", "key": "data1"}},
"Category": "all",
"Locations": []string{},
"Dates": []string{},
}

playground

关于json - Go 中的嵌套数据结构 - Python 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27536965/

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