JOLT在保持阵列结构的同时变换Json阵列

时间:2018-10-14 16:51:59

标签: apache-nifi jolt

我有一个Jsons数组,我想变换单个Jsons的键,同时仍然保持该数组。

[
  {
    "a": "1",
    "b": "2"
  },
  {
    "a": "one",
    "b": "two"
  }
]

所需的输出:

[
  {
    "my_a": "1",
    "my_b": "2"
  },
  {
    "my_a": "one",
    "my_b": "two"
  }
]

JOLT规范:

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "a": "my_a",
        "b": "my_b"
      }
    }
  }
]

但是,我看到了:

{
  "my_a" : [ "1", "one" ],
  "my_b" : [ "2", "two" ]
}

我看到应用了转换,但是输出不是我期望的。

有人遇到过类似的问题吗?

1 个答案:

答案 0 :(得分:3)

更改名称时,您需要包括数组索引[&1]

尝试以下颠簸规范:

[
  {
    "operation": "shift",
    "spec": {
      "*": { 
        "a": "[&1].my_a",
        "b": "[&1].my_b"
      }
    }
  }
]

验证规格:

enter image description here