如何在Jolt中创建嵌套对象并修改现有转换规则
Jolt对象嵌套转换方案
需求概述
将输入JSON中的rating-primary字段值,转换为输出JSON中嵌套结构rating.id的值,同时保留原有Jolt规范的其他处理逻辑。
输入示例:
{ "rating-primary": 1, // 其他字段内容 }
期望输出示例:
{ "rating": { "id": 1 // 对应输入的rating-primary字段值 }, // 其他处理后的内容 }
修改后的完整Jolt规范
[ { "operation": "shift", "spec": { // 新增rating-primary的映射规则,构建嵌套的rating.id结构 "rating-primary": "rating.id", "i*|p*": { "@1,name": [ "id", "publicIdentifier" ], "@1,nf-role": "\\@type", "@1,serial-number": "serial-number", "@1,orchestration-status": "lifeCyleState", "@1,sw-version": "versionNumber", "$": "resourceCharacteristics[#2].name", "@": "resourceCharacteristics[#2].value" } } }, { "operation": "cardinality", "spec": { "resourceCharacteristics": "MANY", "*": "ONE" } }, { "operation": "default", "spec": { "data": "data", "dummydata": [ { "role": "customer" } ] } }, { "operation": "modify-default-beta", "spec": { "href": "=concat('resource/', @(1,id))", "note": { "text": "=concat(@(2,id), ' is hosted on')" } } } ]
修改说明
在第一个shift操作的spec中新增一行规则:"rating-primary": "rating.id",利用Jolt的shift操作特性:
- 左侧
rating-primary匹配输入中的目标字段 - 右侧
rating.id指定输出的嵌套路径,自动创建rating对象并将字段值赋值给其下的id属性
该修改不会影响原有Jolt规范的其他处理逻辑,仅新增目标字段的嵌套转换规则。
内容的提问来源于stack exchange,提问作者Abhishek Patil
相关产品推荐
相关产品推荐

