You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求协助获取适配指定输入输出的正确JOLT转换规格

请求协助获取适配指定输入输出的正确JOLT转换规格

嗨,我明白你现在需要把这份嵌套的JSON通过JOLT转换工具转成扁平结构的JSON。先把你的输入JSON整理成规范格式,再基于常见的扁平需求给出对应的JOLT转换规格,一起来看看吧!

输入JSON

[
  {
    "product_id": 44685238,
    "part_id": 43375079,
    "part_name": "506250-R4",
    "partner_parts": [
      {
        "id": 542063727,
        "name": "506250-R4",
        "partner_id": 34302479,
        "partner_name": "SIBELCO",
        "alternate_part_names": null
      },
      {
        "id": 542063728,
        "name": "506250-R4",
        "partner_id": 34303125,
        "partner_name": "LG HAUSYS",
        "alternate_part_names": null
      },
      {
        "id": 542063729,
        "name": "506250-R4",
        "partner_id": 34303949,
        "partner_name": "SHAW INDUSTRIES",
        "alternate_part_names": null
      }
    ]
  }
]

期望的扁平JSON输出

我们期望把partner_parts数组里的每一项都和外层的product_id、part_id、part_name合并,生成一个扁平的对象数组,示例如下:

[
  {
    "product_id": 44685238,
    "part_id": 43375079,
    "part_name": "506250-R4",
    "partner_part_id": 542063727,
    "partner_part_name": "506250-R4",
    "partner_id": 34302479,
    "partner_name": "SIBELCO",
    "alternate_part_names": null
  },
  {
    "product_id": 44685238,
    "part_id": 43375079,
    "part_name": "506250-R4",
    "partner_part_id": 542063728,
    "partner_part_name": "506250-R4",
    "partner_id": 34303125,
    "partner_name": "LG HAUSYS",
    "alternate_part_names": null
  },
  {
    "product_id": 44685238,
    "part_id": 43375079,
    "part_name": "506250-R4",
    "partner_part_id": 542063729,
    "partner_part_name": "506250-R4",
    "partner_id": 34303949,
    "partner_name": "SHAW INDUSTRIES",
    "alternate_part_names": null
  }
]

对应的JOLT转换规格

这里我们使用shift操作来实现字段的映射和数组的展开,具体spec如下:

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "partner_parts": {
          "*": {
            "@(2,product_id)": "[&1].product_id",
            "@(2,part_id)": "[&1].part_id",
            "@(2,part_name)": "[&1].part_name",
            "id": "[&1].partner_part_id",
            "name": "[&1].partner_part_name",
            "partner_id": "[&1].partner_id",
            "partner_name": "[&1].partner_name",
            "alternate_part_names": "[&1].alternate_part_names"
          }
        }
      }
    }
  }
]

规格说明

  • * 匹配外层数组的每一个元素;
  • partner_parts 指定要处理的嵌套数组;
  • * 匹配partner_parts数组里的每一项;
  • @(2,product_id) 表示向上回溯2层(跳出当前的partner_parts子项和partner_parts数组),获取外层的product_id字段值;
  • [&1] 表示把当前处理的partner_parts子项的索引作为新数组的索引,保证每个子项对应一个扁平对象;
  • 为了避免和外层字段重名,把partner_parts里的id和name重命名为partner_part_id和partner_part_name,你也可以根据实际需求调整键名。

备注:内容来源于stack exchange,提问作者Shwetank Aryan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 15:14:34