Jolt转换需求:按ModelNumber聚合属性并转换键名(区分大小写)
Jolt转换解决方案:按MODELNUMBER聚合并调整字段大小写
以下是满足需求的Jolt转换规范,可实现按MODELNUMBER聚合、字段名大小写转换的目标:
[ { "operation": "shift", "spec": { "*": { "MODELNUMBER": "@(1,MODELNUMBER).inventoryModelId", "ATTRIBUTETYPE": "@(1,MODELNUMBER).attributes[#2].attributeType", "ATTRIBUTEID": "@(1,MODELNUMBER).attributes[#2].attributeId", "ATTRIBUTENAME": "@(1,MODELNUMBER).attributes[#2].attributeName", "ATTRIBUTEVALUE": "@(1,MODELNUMBER).attributes[#2].attributeValue", "RNK": "@(1,MODELNUMBER).attributes[#2].rnk", "batchNumber": "@(1,MODELNUMBER).attributes[#2].batchNumber" } } }, { "operation": "shift", "spec": { "*": { "inventoryModelId": "[#2].inventoryModelId", "attributes": "[#2].attributes" } } } ]
转换逻辑说明
第一阶段:分组与字段映射
- 用
@(1,MODELNUMBER)作为分组标识,将相同MODELNUMBER的条目聚合到同一对象下 - 逐一将输入中的大写字段名(如
ATTRIBUTETYPE)转换为小驼峰格式(attributeType),[#2]确保同一分组内的属性数组索引连续递增
- 用
第二阶段:结构转为数组
- 将第一阶段生成的以
MODELNUMBER为键的对象集合,转换为预期的数组结构,每个元素包含inventoryModelId和对应的属性列表attributes
- 将第一阶段生成的以
验证效果
使用上述规范处理你提供的输入数据,将得到与预期完全一致的输出结果。
内容的提问来源于stack exchange,提问作者user1635625
相关产品推荐
相关产品推荐

