我可以很容易地在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看起来非常有前途,而且正是我创建跨平台应用程序所需要的东西,但是,这东西似乎非常困难。
这是我尝试过的方法,但是我无法使结构包含应该包围properties元素的方括号。
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
相关分类