Jolt转换嵌套商品JSON数组时变体遍历输出异常问题咨询
问题根因
你的Spec配置错误出在层级索引引用逻辑:在variants数组的子字段层级,使用&1取到的是当前变体在所属variants数组内的索引,而非上层商品在products数组内的索引,导致所有商品的变体数据都被合并写入了第一个商品的variants节点下,第二个商品无变体数据。
修复后的Spec配置
[ { "operation": "shift", "spec": { "products": { "*": { "created_at": "productDoc[&1].createdDateTime", "id": "productDoc[&1].id", "variants": { "*": { "id": "productDoc[&3].variants[&1].ecommVariantId", "created_at": "productDoc[&3].variants[&1].createdDateTime" } } } } } } ]
索引逻辑说明
在variants -> * -> 字段的层级下,&n代表向上回溯n层的节点值:
&3:向上回溯3层,取当前变体归属的商品在products数组的索引,确保变体数据写入对应商品节点&1:向上回溯1层,取当前变体在所属variants数组的索引,确保每个变体独立作为variants数组的元素
内容的提问来源于stack exchange,提问作者Muhammad Qasim Ashraf
相关产品推荐
相关产品推荐

