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

编写Jolt转换规格,将含数组字段的JSON转为多对象数组

实现需求的Jolt转换规格

输入示例

{
  "KUNNR": "123456789",
  "NAME1": "Milchwerke \"Mittelelbe\" GmbH",
  "NAME2": "Milchwerke \"Mittelelbe\" GmbH",
  "NAME3": "Milchwerke \"Mittelelbe\" GmbH",
  "NAME4": "Milchwerke \"Mittelelbe\" GmbH",
  "LAND1": "DE",
  "VKORG": "1255",
  "VTWEG": "00",
  "SPART": "00",
  "PARVW": [
    "WE",
    "WE"
  ],
  "PARZA": [
    "000",
    "000"
  ],
  "KUNN2": [
    "0000045959",
    "0000045959"
  ]
}

期望输出示例

[
  {
    "KUNNR": "123456789",
    "NAME1": "Milchwerke \"Mittelelbe\" GmbH",
    "NAME2": "Milchwerke \"Mittelelbe\" GmbH",
    "NAME3": "Milchwerke \"Mittelelbe\" GmbH",
    "NAME4": "Milchwerke \"Mittelelbe\" GmbH",
    "LAND1": "DE",
    "VKORG": "1255",
    "VTWEG": "00",
    "SPART": "00",
    "PARVW": "WE",
    "PARZA": "000",
    "KUNN2": "0000045959"
  },
  {
    "KUNNR": "123456789",
    "NAME1": "Milchwerke \"Mittelelbe\" GmbH",
    "NAME2": "Milchwerke \"Mittelelbe\" GmbH",
    "NAME3": "Milchwerke \"Mittelelbe\" GmbH",
    "NAME4": "Milchwerke \"Mittelelbe\" GmbH",
    "LAND1": "DE",
    "VKORG": "1255",
    "VTWEG": "00",
    "SPART": "00",
    "PARVW": "WE",
    "PARZA": "000",
    "KUNN2": "0000045959"
  }
]

正确的Jolt转换规格

[
  {
    "operation": "shift",
    "spec": {
      "KUNNR|NAME1|NAME2|NAME3|NAME4|LAND1|VKORG|VTWEG|SPART": "common.&",
      "PARVW": {
        "*": {
          "$": "&1.PARVW"
        }
      },
      "PARZA": {
        "*": {
          "$": "&1.PARZA"
        }
      },
      "KUNN2": {
        "*": {
          "$": "&1.KUNN2"
        }
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": {
        "@(2,common)": "&",
        "*": "&"
      },
      "common": ""
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": "[]"
    }
  }
]

转换逻辑说明

  1. 第一步Shift操作:

    • 将所有非数组字段归类到common临时节点,避免重复处理。
    • 按数组索引把PARVW、PARZA、KUNN2的元素分别存入对应下标的节点中(如0.PARVW、1.KUNN2)。
  2. 第二步Shift操作:

    • 遍历每个索引节点,将common中的所有字段复制到当前节点,与该节点的数组元素字段合并。
    • 删除临时的common节点,清理冗余数据。
  3. 第三步Shift操作:

    • 将所有索引节点转换为根数组的元素,生成最终的数组结构。

内容的提问来源于stack exchange,提问作者Thiyagaraj Narayanan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 01:05:12