此输入所需的Jolt变换NIFI(JSON数组)

p1tboqfb  于 2023-08-08  发布在  其他
关注(0)|答案(1)|浏览(110)

这是我作为输入传递的数据,并期望在输出之下。

[
  {
    "data": {
      "Test1": [
        {
          "role": "test",
          "type": "01",
          "id": "12345",
          "fname": "good",
          "lname": "ked",
          "name": "good ked"
        },
        {
          "role": "test2",
          "type": "02",
          "id": "22322",
          "fname": "net",
          "lname": "hjt",
          "name1": "net hjt",
          "company": "iklus"
        }
      ],
      "test3": {
        "store": "wwffd",
        "dep": "science"
      }
    }
  }
]

字符串
我们正在填充基于类型01和角色测试的id、name、fname、lname以及基于类型02和角色测试2的id1、fname1、lname1、name1、company
产出:

[
  {
    "id": "12345",
    "pn": "other"
  },
  {
    "fname": "good",
    "pn": "ln"
  },
  {
    "lname": "ked",
    "pn": "ln"
  },
  {
    "name": "good ked",
    "pn": "ln"
  },
  {
    "id1": "22322",
    "pn": "other"
  },
  {
    "fname1": "net",
    "pn": "ln"
  },
  {
    "lname1": "hjt",
    "pn": "ln"
  },
  {
    "name1": "net hjt",
    "pn": "ln"
  },
  {
    "company1": "iklus",
    "pn": "ln"
  },
  {
    "store": "wwffd",
    "pn": "ln"
  },
  {
    "dep": "science",
    "pn": "ln"
  }
]


你能检查一下并告诉我们这次改造的震动规格吗?

8e2ybdfx

8e2ybdfx1#

您可以有条件地匹配键值对,其中只有上限索引为1的键是后缀,例如:

[
  { // flatten the JSON value
    "operation": "shift",
    "spec": {
      "*": {
        "*": {
          "T*": { // the level of "Test1" node
            "0": {
              "*": "&2_&1.&"
            },
            "*": {
              "*": "&2_&1.&&1"
            }
          },
          "t*": { // the level of "test3" node
            "*": "&1.&"
          }
        }
      }
    }
  },
  { // nest each attributes within separate object
    "operation": "shift",
    "spec": {
      "*": {
        "id|id1": {
          "@": "&2_&1.&",
          "#other": "&2_&1.pn"
        },
        "*": {
          "@": "&2_&1.&",
          "#ln": "&2_&1.pn"
        }
      }
    }
  },
  { // get rid of the object keys
    "operation": "shift",
    "spec": {
      "*": ""
    }
  }
]

字符串
网站http://jolt-demo.appspot.com/上的 * 演示 * 是:


的数据

相关问题