json Jolt:Nifi中的拆分/连接数组值

bnl4lu3b  于 2023-03-13  发布在  其他
关注(0)|答案(2)|浏览(151)

我正在Nifi中使用JOLT进行转换
我的意见

[
  {
    "value0": 0,
    "value1": 1,
    "value2": 2
  },
  {
    "value0": 3,
    "value1": 4,
    "value2": 5
  }
]

预期输出:

[
  {
    "val": 0
  },
  {
    "val": 1
  },
  {
    "val": 2
  },
  {
    "val": 3
  },
  {
    "val": 4
  },
  {
    "val": 5
  }
]

我几乎成功地让它工作了。以下是我的(错误的)Jolt规格:

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "value*": "[&1].val"
      }
    }
  }
]

以下是我的结果:

[
  {
    "val": [ 0, 1, 2 ]
  },
  {
    "val":[ 3, 4, 5 ]
  }
]

谢谢!

oogrdqng

oogrdqng1#

试试这个

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "value*": "[].val"
      }
    }
}]
dxxyhpgq

dxxyhpgq2#

连续嵌套两层,可以循环2*3=6

"*": {
  "*": {
  }
}

例如

[
  {
    "operation": "shift",
    "spec": {
      "*": { // loops twice through objects of the array 
        "*": { // loops three times for each attribute
          "@": "&2[#2].val"
        }
      }
    }
  },
  { // get rid of the keys and square brackets
    "operation": "shift",
    "spec": {
      "*": {
        "*": ""
      }
    }
  }
]

相关问题