当前位置: 首页 > 知识库问答 >
问题:

如何使用 Jolt 在 JSON 数组之后添加元素

宇文元明
2023-03-14

我的样本json如下所示


    {  
       "Event":{  
          "EventHeader":{  
             "size":57,
             "eventTime":"2018-11-02T20:31:15.428"
          },
          "EventData":{  
             "record":"XXXXX",
             "time":"201805270343",
             "count":11,
             "passengers":[  
                {  
                   "name":"DOE/JOHN",
                   "details":{  
                      "genderCode":"M",
                      "birthDate":"19900502",
                      "personName":{  
                         "lastName":"DOE",
                         "firstName":"JOHN",
                         "middleName":null
                      }
                   }
                }
             ],
             "flightCount":0,
             "ticketed":{  
                "typeCode":null,
                "comments":"ABCD"
             },
             "telephoneCnt":0
          }
       }
    }
and the desired  output look like this 

 <pre>{  
   "Event":{  
      "EventHeader":{  
         "size":57,
         "eventTime":"2018-11-02T20:31:15.428"
      },
      "EventData":{  
         "record":"XXXXX",
         "time":"201805270343",
         "count":11,
         "passengers":[  
            {  
               "name":"DOE/JOHN",
               "details":{  
                  "genderCode":"M",
                  "birthDate":"19900502",
                  "personName":{  
                     "lastName":"DOE",
                     "firstName":"JOHN",
                     "middleName":null
                  }
               }
            }
         ],
         "paxend":"true",
         "flightCount":0,
         "ticketed":{  
            "typeCode":null,
            "comments":"ABCD"
         },
         "telephoneCnt":0
      }
   }
}

基本上,我想在Passenger数组后面添加“paxend”:“true”。我们如何使用Jolt实现这一点?非常感谢任何帮助。我很抱歉没有发布我的颠簸规格,因为它不起作用。

共有1个答案

郑卜鹰
2023-03-14

因此,这将把< code>"paxend": "true"添加到EventData中,但是没有现成的方法将其放在" passengers "数组的正下方。这是一个JSON地图,顺序应该没有关系。

规范

[
  {
    "operation": "default",
    "spec": {
      "Event": {
        "EventData": {
          "paxend": "true"
        }
      }
    }
  }
]
 类似资料:
  • 我在下面输入< code>JSON: 但是,输出 应类似,并且仅添加默认值: 这是我的规范: 我应该编辑<code>JOLT</code>规范,但我不明白(默认字段名、姓和状态如何工作。created可以添加为“created”:“@(3,ninjaed in time)”

  • 我想知道如何在数组末尾添加或追加一个新元素。有什么简单的方法可以在末尾添加元素吗?我知道如何使用StringBuffer,但我不知道如何使用它在数组中添加元素。我更喜欢没有ArrayList或List。我想知道StringBuffer是否能处理整数。

  • 尝试转换如下内容时,我为转换后的对象获取了一个空值: 对此: 这是我使用的规范: 这是我使用的代码: 我能够使用与上述相同的规范和代码成功转换以下输入: 那么,我需要做什么来转换员工对象数组呢?

  • 我需要在颠簸转换规范方面的帮助。以下是我到目前为止的工作。 输入: 使用的震动代码: 电流输出: 预期产出 当只使用单个json对象时,此代码工作正常。但是当我们使用具有相同id的多个项目时,它会开始对所有相关字段进行分组。

  • 问题内容: 我想使用命令将元素添加到JSON文件中的数组,但是不起作用。 文件: 我正在使用此命令: 这是我希望输出看起来的样子: 问题答案: 过滤器中的部件将新元素添加到现有数组。您可以使用类似的过滤器: 为避免使用硬编码的长度值并动态添加新元素,请使用,它返回长度,该长度可用作下一个数组索引,即 (或)根据评论中峰的建议,仅使用运算符 产生所需的输出: 使用jq-play试运行并优化您想要的任