我对时髦的 playbook 非常陌生.我想使用来self 查询的API的响应来构建一个JSON输出.由于我希望在多个查询上动态构建JSON文件,因此我使用映射.

我想在一个JSON对象中存储多个键:值对.

我的代码如下所示

def map = [
            'result': []
    ]

    def response = /* doing api reguest */

    map.result << [respose_key1_1: "response_value 1_1"]
    map.result << [response_key1_2: "response_value 1_2"]

    def json = new JsonBuilder()

    json rootKey: map

    println JsonOutput.prettyPrint(json.toString())

返回此消息

{
    "rootKey": {
        "result": [
            {
                "respose_key1_1": "response_value 1_1"
            },
            {
                "response_key1_2": "response_value 1_2"
            }
        ]
    }
}

我需要的是

{
    "rootKey": {
        "result": {
            "respose_key1_1": "response_value 1_1",
            "response_key1_2": "response_value 1_2"
        }
    }
}

推荐答案

这是一个数组:

def map = [
   result: [] // this is an array literal
]

这是一张 map :

def map = [
  result: [:]  // this is a map literal
]

虽然从技术上讲,这是可行的:

   map.result << [respose_key1_1: "response_value 1_1"]
   map.result << [response_key1_2: "response_value 1_2"]

它可以简化为:

map.result.response_key1_1 = "response_value 1_1"
map.result.response_key1_2 = "response_value 1_2"

以上操作消除了无关紧要的 map 构建.

Json相关问答推荐

如何将自定义卡保存到dart/flutter中的共享偏好设置?

将JSON输入子数组转换为字符串顺序列表输出

如何使用JQ打印每个根级对象键一行?

与错误相关的未定义&Quot;不是有效的JSON

解析SQL中的嵌套JSON

如何在 Apps 脚本中循环遍历 JSON 响应

阅读 JSON 正文 Firebase 云函数

Go - JSON 验证抛出错误,除非我在 struct 中使用指针.为什么?

判断 JSON 中的对象,而不是条件中提到的对象

如何在 onClick 事件处理程序中识别在同一 map 上绘制的多个多边形中的哪个(使用 react-leaflet)被单击?

UTF-8 字符编码之战 json_encode()

将 js Array() 转换为 JSON 对象以用于 JQuery .ajax

JSON.NET 中特定对象的自定义转换

如何在 Eclipse 中安装和使用 JSON 编辑器?

使用 JSONObject 在 Java 中为以下 struct 创建嵌套 JSON 对象?

如何在java中比较来自JsonObject的空值

在 JSON 对象中强制执行非空字段

AJAX 将 JavaScript 字符串数组发布到 JsonResult 作为 List 总是返回 Null?

从 Json 对象 Android 中获取字符串值

类型是接口或抽象类,不能实例化