如何使用NiFi中的JOLT实现指定JSON结构的转换需求
JOLT 转换实现方案
以下是可直接使用的完整JOLT转换配置,运行后即可得到预期输出格式:
[ { "operation": "shift", "spec": { "School": { "Data": { "Id": "School.Data.Id", "Time": "School.Data.Time", "Txs": "School.Data.Txs", "Pty": { "Name": "School.Data.Pty.Name", "Number": { "OID": { "REM": { "sequenced": "School.Data.Pty.ONum.OID.REM.sid" } } } } }, "Facebook": { "*": { "#": "School.Rollingstone[&1].rollid.fid.famt", "#": "School.Rollingstone[&1].rollid.fid.ofaid", "#": "School.Rollingstone[&1].rollid.ADDinfo" } } } } }, { "operation": "default", "spec": { "School": { "Rollingstone": { "*": { "rollid": { "status": "Login", "statusDescription": "Login Successfully" } } } } } } ]
转换逻辑说明
Data节点下的Id、Time、Txs、Pty.Name字段直接透传保留- 原
School.Data.Pty.Number字段重命名为ONum,其嵌套的sequenced字段重命名为sid - 原
Facebook数组重命名为Rollingstone,按照目标格式生成新的数组结构,无对应源字段的属性默认赋值为空字符串 - 固定值字段
status、statusDescription通过default操作符统一填充
内容的提问来源于stack exchange,提问作者Mona lisa
相关产品推荐
相关产品推荐

