JoltT demo(示例 )

 

(外)在线转换工具https://jolt-demo.appspot.com/#modify-stringFunctions

以下是我自己做过的一些JOLT 例子

 

示例一:替换JSON中的关键值

JoltT demo(示例 )_第1张图片

 

示例二:&节点位置输入

JoltT demo(示例 )_第2张图片

 

JoltT demo(示例 )_第3张图片

 

示例三:@#

JoltT demo(示例 )_第4张图片

 

JoltT demo(示例 )_第5张图片

 

 

示例四:

节点是数组的元素,关键即数组下标

JoltT demo(示例 )_第6张图片

 

示例五:@(,)

JoltT demo(示例 )_第7张图片

 

下面截图可以试着自己理解

 

JoltT demo(示例 )_第8张图片

 

示例六:嵌套转换

如果clientsActive是真实的,则执行转换

 

@(2,clients)的值值:true 1 clientsActive 2

{

“Acme公司”:{

“的clientId”:“Acme”的成员,

“指数”:1

},

“斧头”:{

“的clientId”:“AX”,

“指数”:0

}

}

对他做“*”“clientId”:“clientIds [@(1,index)]”

JoltT demo(示例 )_第9张图片

 

 

示例七:转义字符

JoltT demo(示例 )_第10张图片

 

 

其他例子

利用&取关键值,替换原理,达到加后缀的目的

JoltT demo(示例 )_第11张图片

@type alpha beta

 

JoltT demo(示例 )_第12张图片

JoltT demo(示例 )_第13张图片

 

函数,常见的数学,串等等

JoltT demo(示例 )_第14张图片

转换大小写

JoltT demo(示例 )_第15张图片

等等具体可以查看阿帕奇的颠簸库,库里的功能应该在nifi中也有包含

https://github.com/bazaarvoice/jolt/tree/master/jolt-core/src/main/java/com/bazaarvoice/jolt

JoltT demo(示例 )_第16张图片

 

 

示例八:在NIFI给JSON加UUID

[{

“操作”:“默认”,

“规范”:{

“*”:{

“UUID”:“$ {UUID()}”//取的是当前流的UUID

}

}

}]

JoltT demo(示例 )_第17张图片

JoltT demo(示例 )_第18张图片

示例九:加父节点

[

{

"operation": "shift",

"spec": {

"@": "&"

}

}

]

JoltT demo(示例 )_第19张图片

示例十:取数组位置

[

{

"operation": "shift",

"spec": {

"*": {

"name": "[#2].name_",

"phone_num": "[#2].phone_num",

"@": "[#2].ext"

}

}

}

]

JoltT demo(示例 )_第20张图片

示例11 去除一个字段

JoltT demo(示例 )_第21张图片

 

 

在子节点中匹配 父节点

JoltT demo(示例 )_第22张图片

 

 

你可能感兴趣的:(NIFI-Processors)