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

我想使用JOLT转换将Ajson转换为另一个json

戚良弼
2023-03-14

我有下面的JSON输入,我想删除值标签并在TypeOfSTA中设置标题值。
我想使用JOLT转换在输出JSON中进行转换。

下面是我的请求JSON和输出JSON。

请求 JSON:


{
  "value": [
    {
      "TypeOfSTA": {
        "Title": "ashish"
      },
      "EndDate": "2007-05-30T18:30:00Z",
      "IGACode": "175",
      "StartDate": "2006-05-31T18:30:00Z",
      "STATenure": "12",
      "TenureUnit": "Month",
      "TotalAmount": "5000",
      "EmpEmailID": "employee175@test.com"
    },
    {
      "TypeOfSTA": {
        "Title": "Rajan"
      },
      "EndDate": "2007-05-30T18:30:00Z",
      "IGACode": "175",
      "StartDate": "2006-05-31T18:30:00Z",
      "STATenure": "12",
      "TenureUnit": "Month",
      "TotalAmount": "5000",
      "EmpEmailID": "employee175@test.com"
    }
  ]
}

请帮助我使用JOLT转换进行转换。

输出JSON:


[
  {
    "TypeOfSTA": "ashish"
    "EndDate": "2007-05-30T18:30:00Z",
    "IGACode": "175",
    "StartDate": "2006-05-31T18:30:00Z",
    "STATenure": "12",
    "TenureUnit": "Month",
    "TotalAmount": "5000",
    "EmpEmailID": "employee175@test.com"
  },
  {
    "TypeOfSTA": "Rajan",    
    "EndDate": "2007-05-30T18:30:00Z",
    "IGACode": "175",
    "StartDate": "2006-05-31T18:30:00Z",
    "STATenure": "12",
    "TenureUnit": "Month",
    "TotalAmount": "5000",
    "EmpEmailID": "employee175@test.com"
  }
]

共有1个答案

胡彭亮
2023-03-14

您可以使用下面的换档规范

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "*": {
          "TypeOfSTA": { "*": "&1" },
          "*": "&"
        }
      }
    }
  }
]

星号分别表示最外层数组(值)的名称、它的索引、TypeOfSTA对象的索引以及数组中存在的其余键。

来自Apache NiFi的JoltTransformJSON处理器的结果屏幕:

编辑:在前一种情况下,值数组只有一个元素,以避免与多个或单个元素相关的问题,例如,作为一般情况,只需在每个“与”符号前面加上[

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "*": {
          "TypeOfSTA": { "*": "[&2].&1" },
          "*": "[&1].&"
        }
      }
    }
  }
]

 类似资料:
  • 我的输入json 根据defaultValue是否存在,我们需要在servicespeccharacteryValue–is default中有一个字段,如果value存在,这将为真,否则为假 这是我的规格 电流输出 预期输出:-根据默认值是否存在,我们需要在 serviceSpecCharacteristicValue – isDefault 中有一个字段 – 如果值存在,这将为 true,否则

  • 输入 json : 预期输出: 我想有一个颠簸转换,它可以嵌套很少的田地。

  • 我需要使用JOLT转换将下面的输入转换为精确的输出。输入: 输出: 我尝试使用以下规格,但没有驱动到我需要的精确输出。规格: 任何帮助都将不胜感激。谢谢

  • 我必须将 JSON 输入转换为包含一个对象的数组。 我有这个 JOLT 配置: 以下是我的意见: 实际产量: 期望的输出: 你知道该怎么做吗? 谢谢你们的帮助

  • 我遇到了一个问题,使用颠簸转换将平面 JSON 转换为嵌套 JSON。而且我对颠簸转型很陌生。输入和输出详细信息如下。 我的输入: 预期产量

  • 我只需要使属性元素与 id 处于同一级别。 我只是有一个问题,以复制属性是在同一水平。 这是我的示例JSON 这是我的示例转换。 期望的输出将是