如何在NiFi中使用Jolt合并两个JSON数组为单一数组
使用Jolt合并JSON数组并聚合字段
需求说明
将输入的JSON数组合并为单个对象:
- 保留第一个数组元素的
len、count、name字段 - 合并所有数组元素的
info数组内容
Jolt转换规范
[ { "operation": "shift", "spec": { "0": { "len": "len", "count": "count", "name": "name" }, "*": { "info": { "*": "info[]" } } } } ]
规则解释
- shift操作:核心负责字段的重定向与聚合
"0": {...}:定位数组第一个元素(索引为0),直接将其len、count、name字段映射到结果的同名字段"*": {...}:遍历数组内所有元素"info": {"*": "info[]"}:把每个元素的info数组中的每一项,追加到结果的info数组中([]表示数组追加模式,自动合并多个数组内容)
验证示例
输入JSON
[ { "len": 1062, "count": 105, "info": [ { "name": "test", "count": "4" }, { "name": "test1", "count": "5" } ], "name": "s1" }, { "len": 1062, "count": 105, "info": [ { "name": "test3", "count": "8" }, { "name": "test4", "count": "10" } ], "name": "s2" } ]
输出JSON
{ "len": 1062, "count": 105, "name": "s1", "info": [ { "name": "test", "count": "4" }, { "name": "test1", "count": "5" }, { "name": "test3", "count": "8" }, { "name": "test4", "count": "10" } ] }
内容的提问来源于stack exchange,提问作者codingprabhu
相关产品推荐
相关产品推荐

