如何在 JSON 序列化中添加括号?

我正在尝试向 API 端点发送发布请求。如果 JSON 数据中没有括号,端点将无法工作。


map1: = map[string] map[string] interface {} {}

map2: = map[string] interface {} {}

map2["firstObject"] = "value1"

map2["secondObject"] = "value2"


map1["jsonName"] = map2

b, err: = json.Marshal(map1)

if err != nil {

    panic(err)

}


fmt.Println(string(b)) // outputs: {"jsonName":{"firstObject":"value1","secondObject":"value2"}}

我需要的输出是:{"jsonName":[{"firstObject":"value1","secondObject":"value2"}]}


但是,我得到了这个:{"jsonName":{"firstObject":"value1","secondObject":"value2"}}


繁星点点滴滴
浏览 115回答 1
1回答

吃鸡游戏

当 API 需要映射数组时,您指定的有效负载将映射作为 jsonName 的值传递。如果您首先创建内部地图可能会有所帮助:map2 := map[string]interface{}{    "firstObject":  "value1",    "secondObject": "value2",}然后将外部映射创建为 的映射string => []interface{},并给出您的键和值:map1 := map[string][]interface{}{    "jsonName": []interface{}{map2},}您可以一次性完成这一切,如下所示:map1 := map[string][]interface{}{    "jsonName": []interface{}{        map[string]interface{}{            "firstObject":  "value1",            "secondObject": "value2",        },    },}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go