为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
繁星点点滴滴 2023-07-26 10:05:37
我正在尝试向 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",

        },

    },

}


查看完整回答
反对 回复 2023-07-26
  • 1 回答
  • 0 关注
  • 114 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信