(外)在线转换工具https://jolt-demo.appspot.com/#modify-stringFunctions
以下是我自己做过的一些JOLT 例子
示例一:替换JSON中的关键值
示例二:&节点位置输入
示例三:@#
示例四:
节点是数组的元素,关键即数组下标
示例五:@(,)
下面截图可以试着自己理解
示例六:嵌套转换
如果clientsActive是真实的,则执行转换
@(2,clients)的值值:true 1 clientsActive 2
{
“Acme公司”:{
“的clientId”:“Acme”的成员,
“指数”:1
},
“斧头”:{
“的clientId”:“AX”,
“指数”:0
}
}
对他做“*”“clientId”:“clientIds [@(1,index)]”
示例七:转义字符
其他例子
利用&取关键值,替换原理,达到加后缀的目的
@type alpha beta
函数,常见的数学,串等等
转换大小写
等等具体可以查看阿帕奇的颠簸库,库里的功能应该在nifi中也有包含
https://github.com/bazaarvoice/jolt/tree/master/jolt-core/src/main/java/com/bazaarvoice/jolt
示例八:在NIFI给JSON加UUID
[{
“操作”:“默认”,
“规范”:{
“*”:{
“UUID”:“$ {UUID()}”//取的是当前流的UUID
}
}
}]
示例九:加父节点
[
{
"operation": "shift",
"spec": {
"@": "&"
}
}
]
示例十:取数组位置
[
{
"operation": "shift",
"spec": {
"*": {
"name": "[#2].name_",
"phone_num": "[#2].phone_num",
"@": "[#2].ext"
}
}
}
]
示例11 去除一个字段
在子节点中匹配 父节点