json - 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。
解决方案
[
{
"operation":"shift",
"spec":{
"*":{
"TYPE":{
"A":{
"#AA":"[&3].TYPE"
},
"B":{
"#BB":"[&3].TYPE"
}
},
"INDICATOR_VALUE":"[&1].INDICATOR_VALUE"
}
}
}
]
推荐阅读
- android - HTML5 音频自动播放在移动浏览器中工作,但在 webview 中不工作
- unit-testing - 用于单元测试的弧
- xml - 处理嵌套节点的最佳方法(不同的名称,相同的内容)
- python-3.x - 使用 pyttsx3 将列表上的迭代结果保存为单个音频
- c++ - 房间在 SFML(地牢爬行者)中不断重叠
- rust - 尝试连接时出错:证书不受信任
- azure - ADF - 从数据流中获取随机样本数据
- javascript - 使用 Chai 的 Expect 接口测试部分对象属性
- api - 具有安全外部 API 消耗的最小前端 Web 应用程序
- flutter - Flutter 集成测试引发错误“null check operator used on a null value”