如何在Apache NiFi中移除JSON文件首尾的数组方括号
方案1:使用ReplaceText处理器(适合固定单元素数组场景)
该方案适用于输入JSON固定为仅包含1个对象的外层数组的场景,配置成本最低:
- 处理器选择:
ReplaceText - 核心配置项:
Search Value:填写正则^\s*\[(.*)\]\s*$,作用是匹配首尾的方括号以及方括号前后可能存在的空白字符Replacement Value:填写$1,引用正则捕获到的数组内部的JSON对象内容Evaluation Mode:选择Entire textCharacter Set:保持默认UTF-8即可
- 其余配置保持默认,流转后即可直接输出去掉外层方括号的目标JSON。
方案2:使用JoltTransformJSON处理器(适合复杂场景)
如果输入JSON结构可能存在变动,需要更稳定的结构化转换能力,推荐使用该方案:
- 处理器选择:
JoltTransformJSON - 核心配置项:
Jolt Transformation DSL:选择ShiftJolt Specification:填写如下转换规则
[ { "operation": "shift", "spec": { "*": "" } } ]
该规则会将外层数组的所有元素(此处为唯一的JSON对象)直接提升到根层级,输出目标JSON结构,后续如果JSON结构调整,仅需要修改转换规则即可适配。
内容的提问来源于stack exchange,提问作者l rf
相关产品推荐
相关产品推荐

