我正在尝试向 API 端点发送发布请求。如果 JSON 数据中没有括号,端点将无法工作。map1: = map[string] map[string] interface {} {}map2: = map[string] interface {} {}map2["firstObject"] = "value1"map2["secondObject"] = "value2"map1["jsonName"] = map2b, 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"}}
1 回答
吃鸡游戏
TA贡献1829条经验 获得超7个赞
当 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",
},
},
}
- 1 回答
- 0 关注
- 114 浏览
添加回答
举报
0/150
提交
取消