我在Apache NiFi工作,我有一个问题:如何使用QueryRecord
处理器处理JSON中的嵌套数组?例如,我有一个JSON:
{
"offerName":"Viatti Strada Asimmetrico V-130 205/55 R16 91V",
"detailedStats":[
{
"type":"mobile",
"clicks":4,
"spending":"2.95"
}
]
}
如何提取数组以获得以下结果:
{
"offerName": "Viatti Strada Asimmetrico V-130 205/55 R16 91V",
"type": "mobile",
"clicks": 4,
"spending": "2.95"
}
I read about RPATH,但没有找到好的示例。
尝试使用:
SELECT RPATH(detailedStats, '/detailedStats[1]')
FROM flowfile
但它抛出错误。我如何才能得到预期的结果与RPATH
?
2条答案
按热度按时间ru9i0ody1#
你可以通过
QueryRecord
选择下面这样的模式。但是你在写的时候遇到了一个问题。我使用了JsonRecordSetWriter
和Inherent Record Schema
。如果你喜欢avro
模式,this是一个很好的教程result是一个数组,因此您应该在下游使用
$.*
拆分它bgibtngc2#
另一种方法可能是使用以下代码添加具有(shifttype)规范的
JoltTransformJSON
处理器,可以从Settings选项卡的Advanced按钮访问该规范以便提取您想要的结果。