我有一个类似于
的 JSON{
"campaign_key": 316,
"client_key": 127,
"cpn_mid_counter": "24",
"cpn_name": "Bopal",
"cpn_status": "Active",
"clt_name": "Bopal Ventures",
"clt_status": "Active"
}
预期输出
第一个 JSON:
{
"campaign_key": 316,
"client_key": 127,
"cpn_mid_counter": "24",
"cpn_name": "Bopal",
"cpn_status": "Active"
}
第二个 JSON:
{
"clt_name": "Bopal Ventures",
"clt_status": "Active"
}
如何使用 NIFI 实现此目的?谢谢。
最佳答案
您可以按照“用户”所说的进行操作。该方法不太好的一点是,如果字段数量不断增加,则需要将许多 JSON Path 表达式属性添加到 EvaluateJsonPath
中,然后在 中添加许多属性>替换文本
。
相反,我建议使用QueryRecord
,并将记录读取器设置为 JsonTreeReader,将记录写入器设置为 JsonRecordSetWriter。并添加两个动态关系属性如下:
json1 : SELECT campaign_key, client_key, cpn_mid_counter, cpn_name, cpn_status FROM FLOWFILE
json2 : SELECT clt_name, clt_status FROM FLOWFILE
此方法负责以 JSON 格式读取和写入输出。另外,如果您想添加更多字段,只需在 SQL SELECT
语句中添加字段名称即可。
QueryRecord 处理器允许您对 FlowFile 内容执行 SQL 查询。有关该处理器的更多详细信息,请参阅 here
附加屏幕截图
关于json - 使用 Nifi 将 JSON 拆分为两个单独的 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50461253/