如何编写Simple JOLT转换规则实现JSON新增层级并迁移指定属性
JOLT转换实现方案
需求说明
对输入JSON新增row层级,将原JSON中除table_name外的所有属性迁移至row层级下,table_name字段保留在根节点。
输入示例
{ "Name" : "Some order", "Status" : "New", "Project" : "Some project", "Goal" : "Some goal", "Urgency" : "", "URL" : "", "table_name": "Order" }
期望输出示例
{ "row": { "Name" : "Some order", "Status" : "New", "Project" : "Some project", "Goal" : "Some goal", "Urgency" : "", "URL" : "" }, "table_name": "Order" }
可用JOLT转换规则
使用如下shift操作规则即可实现需求:
[ { "operation": "shift", "spec": { "table_name": "table_name", "*": "row.&" } } ]
规则说明
shift是JOLT专门用于字段位置重排的核心操作,支持精准匹配和通配符匹配两种模式- 规则中先显式指定
table_name映射到根节点的同名路径,保证该字段位置不变 - 通配符
*匹配所有未被显式指定的顶层字段,&符号指代当前匹配到的字段名,所有匹配到的字段都会被放入row对象下,保留原有字段名
JOLT学习资源推荐
- 官方自带示例集:JOLT开源仓库内置的所有操作单元测试用例,覆盖全量操作语法,每个用例都附带输入、规则、输出三段式说明,适合系统学习语法
- 在线调试工具:JOLT Transform在线测试平台,支持实时输入源数据和转换规则,即时预览转换结果,适合日常调试和语法练习
- 场景化实战教程:社区整理的高频业务场景转换实现合集,包含数组拆分合并、动态字段名处理、数据类型转换、条件分支等常见需求的实现方案
内容的提问来源于stack exchange,提问作者masha-pl
相关产品推荐
相关产品推荐

