问题描述
是否可以在NiFi的JoltTransformJSON处理器中转义管道字符(|
)?
我有一个具有许多具有该字符的属性名称的Json,我需要使用JoltTransform对其进行展平,但是如果我在JoltTransform规范中使用管道字符,则会收到一条警告,指出该规范无效。不过,当我用下划线替换所有|
时,效果很好。
我想避免这种情况的一种方法是在JoltTransform Processor之前和之后使用replaceText,但是有没有更方便的方法呢?
(当然,我尝试使用\\
进行转义,但是它不起作用,我得到同样的警告。)
[更新] 这是输入Json的样子:
[
{
"root": "value","first|Level|Array": [
{
"firstLevel": [
"value1"
],"second|Level|Array": [
{
"secondLevel": [
"value2"
]
},{
"secondLevel": [
"value3"
]
}
]
}
]
}
]
这是预期的输出:
{
"root" : "value","first|Level|Array|firstLevel" : [ "value1" ],"second|Level|Array[0]|secondLevel" : [ "value2" ],"second|Level|Array[1]|secondLevel" : [ "value3" ]
}
还有我希望使用的Jolt规格:
[
{
"operation": "shift","spec": {
"*": {
"*": "&","first|Level|Array": {
"*": {
"*": "&2\\|&","second|Level|Array": {
"*": {
"*": "&2\\[&1\\]\\|&"
}
}
}
}
}
}
}
]
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)