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

Jolt JSON转换需求:将delta字段拆分为4条独立JSON

Jolt JSON转换解决方案

初始输入示例

假设你的源JSON结构如下:

{
  "product_id": "P001",
  "category": "electronics",
  "delta": {
    "base_price": 99.99,
    "base_price_with_vat": 119.99,
    "sale_price": 79.99,
    "sale_price_with_vat": 95.99
  }
}

目标输出

需要生成4条独立JSON记录,每条结构示例:

{
  "product_id": "P001",
  "category": "electronics",
  "column_name": "base_price",
  "column_value": 99.99
}

Jolt Spec配置

通过shift和cardinality操作组合实现需求:

[
  {
    "operation": "shift",
    "spec": {
      "product_id": "[&1].product_id",
      "category": "[&1].category",
      "delta": {
        "base_price": {
          "$": "[0].column_name",
          "@": "[0].column_value"
        },
        "base_price_with_vat": {
          "$": "[1].column_name",
          "@": "[1].column_value"
        },
        "sale_price": {
          "$": "[2].column_name",
          "@": "[2].column_value"
        },
        "sale_price_with_vat": {
          "$": "[3].column_name",
          "@": "[3].column_value"
        }
      }
    }
  },
  {
    "operation": "cardinality",
    "spec": {
      "*": {
        "product_id": "ONE",
        "category": "ONE"
      }
    }
  }
]

关键逻辑说明

  • shift操作:
    • 将product_id、category等公共字段映射到数组的每个元素中
    • 对delta下的每个价格字段,用$提取字段名作为column_name,用@提取字段值作为column_value,分别对应数组的不同索引(0-3)
  • cardinality操作:确保公共字段在每条记录中仅出现一次,避免重复映射导致的冗余

将上述配置与源JSON输入Jolt转换器,即可得到包含4条独立记录的数组结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 00:14:52