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

JOLT转换需求:从元素提取信息添加至Header

JOLT转换方案实现指定JSON结构调整

输入JSON

{
  "trans-details": [
    {
      "customernum": "41700013",
      "crmordernum": "SO-000048949",
      "customerordernum": "Over delivery BRAZI",
      "itemnumber": "A0002309953",
      "status": 3,
      "pagecount": 64,
      "orderstatus": 3,
      "requestedqty": 0
    },
    {
      "customernum": "41700013",
      "crmordernum": "SO-000049948",
      "customerordernum": "Over delivery test ZA",
      "itemnumber": "A0002309911",
      "status": 3,
      "pagecount": 64,
      "orderstatus": 3,
      "requestedqty": 0
    }
  ]
}

期望输出JSON

{
  "Header": {
    "Pagenumber": "1",
    "Countryid": "7002",
    "First Page": "true",
    "Last Page": "false",
    "countryId": 675,
    "dealerNumber": 675000,
    "Total Pages": "64"
  },
  "TRANS-DETAILS": [
    {
      "customernum": "41700013",
      "crmordernum": "SO-000048949",
      "customerordernum": "Over delivery BRAZI",
      "itemnumber": "A0002309953",
      "status": 3,
      "orderstatus": 3,
      "requestedqty": 0
    },
    {
      "customernum": "41700013",
      "crmordernum": "SO-000048949",
      "customerordernum": "Over delivery BRAZI",
      "itemnumber": "A0002309953",
      "status": 3,
      "orderstatus": 3,
      "requestedqty": 0
    }
  ]
}

转换要求

  • 新增Header对象,填充指定固定字段值,其中Total Pages取值自原数组元素的pagecount(假设所有元素pagecount值一致)
  • 原数组重命名为TRANS-DETAILS,且移除数组内每个元素的pagecount字段
  • 匹配示例输出,将数组第二个元素替换为第一个元素的副本

JOLT转换规格

[
  {
    "operation": "shift",
    "spec": {
      "trans-details": {
        "*": {
          "@(0,pagecount)": "Header.Total Pages",
          "customernum": "TRANS-DETAILS[&1].customernum",
          "crmordernum": "TRANS-DETAILS[&1].crmordernum",
          "customerordernum": "TRANS-DETAILS[&1].customerordernum",
          "itemnumber": "TRANS-DETAILS[&1].itemnumber",
          "status": "TRANS-DETAILS[&1].status",
          "orderstatus": "TRANS-DETAILS[&1].orderstatus",
          "requestedqty": "TRANS-DETAILS[&1].requestedqty"
        }
      }
    }
  },
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "Header": {
        "Pagenumber": "1",
        "Countryid": "7002",
        "First Page": "true",
        "Last Page": "false",
        "countryId": 675,
        "dealerNumber": 675000,
        "Total Pages": "=toString"
      },
      "TRANS-DETAILS": {
        "1": "@(0,0)"
      }
    }
  },
  {
    "operation": "cardinality",
    "spec": {
      "Header": {
        "Total Pages": "ONE"
      }
    }
  }
]

转换说明

  1. Shift操作:完成数组重命名,提取pagecount字段到Header,同时复制原数组中除pagecount外的所有字段到新数组
  2. Modify操作:填充Header的固定字段值,将Total Pages转为字符串类型,同时按照示例要求将数组第二个元素替换为第一个元素的副本
  3. Cardinality操作:确保Header中的Total Pages只保留一个值,避免因多个元素提取导致的数组类型问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 09:07:49