猿问

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

我可以很容易地在 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


jeck猫
浏览 180回答 2
2回答

至尊宝的传说

您只需要创建一个切片map[string]string:data := map[string]interface{}{    "Offset":     "0",    "Properties": []map[string]string{{"value": "data2", "key": "data1"}},    "Category":   "all",    "Locations":  []string{},    "Dates":      []string{},}
随时随地看视频慕课网APP

相关分类

Go
我要回答