json - 如何在 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"}}
解决方案
当 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",
},
},
}
推荐阅读
- css - Animate on hover using javascript and css
- linux - Awk script which takes as input the path to a directory and displays all the files whose size are more than limit?
- python - Matplotlib 3.03:将 x 和 y 轴全局设置为固定的小数位数
- angular - Prevent DOM elements from rendering on server side with angular universal
- ruby-on-rails - Rspec测试控制器下载excel Rails
- google-analytics - 将特定访客 ID 作为个人标识符推送到 GA (Pardot)
- java - 我需要当前易于遵循的说明来从 XML 配置 spring 集成 kafka
- qt - 从 Qgraphicsscene 中删除自定义 Qgraphicsitem 的问题
- c++ - 在 x64 模式下从 C++/CLI 调用 MASM PROC 会产生意外的性能问题
- php - opencart 2.3.0.2 htaccess 301 重定向