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

使用Jolt转换JSON:字段重命名与数组结构重组需求

Jolt JSON转换需求及实现

输入JSON

{"MainObj": {"SubObject": {"Invoices": [{"InvoiceItemsDetail": [{"InvoiceItemLineNumber": "1","ItemCode": "122","Description": "GoodsDescription1"},{"InvoiceItemLineNumber": "2","ItemCode": "222","Description": "GoodsDescription2"}]},{"InvoiceItemsDetail": [{"InvoiceItemLineNumber": "3","ItemCode": "322","Description": "GoodsDescription3"},{"InvoiceItemLineNumber": "4","ItemCode": "422","Description": "GoodsDescription4"}]}]}}}

转换要求

  • 移除所有无关对象(如AnotherObject、SomeOtherObject这类冗余结构)
  • 字段重命名:
    • InvoiceItemLineNumber → INVOICE_LINE_ITEM_NUMBER
    • ItemCode → ITEM_CODE
    • Description → DESCRIPTION
  • 将所有转换后的明细对象整合到outputs数组中

期望输出JSON

{"outputs": [{"INVOICE_LINE_ITEM_NUMBER": "1","ITEM_CODE": "122","DESCRIPTION": "GoodsDescription1"},{"INVOICE_LINE_ITEM_NUMBER": "2","ITEM_CODE": "222","DESCRIPTION": "GoodsDescription2"},{"INVOICE_LINE_ITEM_NUMBER": "3","ITEM_CODE": "322","DESCRIPTION": "GoodsDescription3"},{"INVOICE_LINE_ITEM_NUMBER": "4","ITEM_CODE": "422","DESCRIPTION": "GoodsDescription4"}]}

实现的Jolt转换规范

[
  {
    "operation": "shift",
    "spec": {
      "MainObj": {
        "SubObject": {
          "Invoices": {
            "*": {
              "InvoiceItemsDetail": {
                "*": {
                  "InvoiceItemLineNumber": "outputs[&1].INVOICE_LINE_ITEM_NUMBER",
                  "ItemCode": "outputs[&1].ITEM_CODE",
                  "Description": "outputs[&1].DESCRIPTION"
                }
              }
            }
          }
        }
      }
    }
  }
]

转换逻辑说明

  1. 通过shift操作逐层遍历输入的JSON结构:MainObj→SubObject→Invoices数组
  2. 遍历每个Invoices元素下的InvoiceItemsDetail数组,将其中的明细对象逐一映射到outputs数组
  3. 直接完成字段重命名,把原字段的值赋值给对应的目标字段

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 03:39:58