首页 > 解决方案 > Nifi Jolt Transform Spec - 重命名值

问题描述

我正在尝试使用 nifi jolttransformjson 来转换我的 JSON。我正在使用这个网站http://jolt-demo.appspot.com/#modify-stringFunctions

我有一个 JSON

[
{
"INDICATOR_VALUE": "val1",
"TYPE": "A"
},
{
   "INDICATOR_VALUE": "val2",
"TYPE": "B"
}
]

我的 Jolt 规格是

[
  {
"operation": "shift",
"spec": {
  "*": {
    "TYPE": {
      "A": {
        "#AA": "TYPE",
        "@(2,INDICATOR_VALUE)": "INDICATOR_VALUE"
      },
      "B": {
        "#BB": "TYPE",
        "@(2,INDICATOR_VALUE)": "INDICATOR_VALUE"
      }
    }
  }
}
}
]

电流输出是

{
  "TYPE" : [ "AA", "BB" ],
  "INDICATOR_VALUE" : [ "val1", "val2" ]
}

想要的输出是

[
   {
  "TYPE":"AA",
  "INDICATOR_VALUE":"val1"
   },
   {
  "TYPE":"BB",
  "INDICATOR_VALUE":"val2"
 }
]

所以基本上,我只想将 A 型更改为 AA,将 B 型更改为 BB。

标签: jsonapache-nifijolt

解决方案


[
    {
        "operation":"shift",
        "spec":{
            "*":{
                "TYPE":{
                    "A":{
                        "#AA":"[&3].TYPE"
                    },
                    "B":{
                        "#BB":"[&3].TYPE"
                    }
                },
                "INDICATOR_VALUE":"[&1].INDICATOR_VALUE"
            }
        }
    }
]

推荐阅读