我有如下的JSON响应,我只想使用NIFI中的extracttext处理器从文件中提取文本。但是,这并不是一个有效的Java表达式。
"17" : {
"columnId" : 17,
"columnName" : "id",
"value" : "1234:;5678"
}
"17" : {
"columnId" : 17,
"columnName" : "id",
"value" : "1234:;5678"
},
"19" : {
"columnId" : 19,
"columnName" : "HelloWorld",
"value" : "Test 1:;34130"
},
"21" : {
"columnId" : 21,
"columnName" : "Testing",
"value" : "Test"
}
"17" : {
"columnId" : 17,
"columnName" : "id",
"value" : "1299:;6775"
},
"19" : {
"columnId" : 19,
"columnName" : "HelloWorld",
"value" : "Test 2.:;34147"
},
"21" : {
"columnId" : 21,
"columnName" : "Testing",
"value" : "Test"
}
"17" : {
"columnId" : 17,
"columnName" : "id",
"value" : "1299:;6775"
},
"19" : {
"columnId" : 19,
"columnName" : "HelloWorld",
"value" : "Test.:;34147"
},
"21" : {
"columnId" : 21,
"columnName" : "globalregions",
"value" : "Test"
}
”
我尝试过表达:
"17" : {(.*?)\}.
它不起作用。
预期结果应为:-
"17" : {
"columnId" : 17,
"columnName" : "id",
"value" : "1234:;5678"
}
"17" : {
"columnId" : 17,
"columnName" : "id",
"value" : "1299:;6775"
}
答案 0 :(得分:1)
通常,您应该为json对象设置唯一的键。
并且在您的json中,同一对象中有多个键"17"
...
但是以下正则表达式应适用于您的json:"17"\s*:\s*\{[^}]*\}