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

求助:Jolt转换中处理JSON字符串格式字段的解决方案

Jolt转换解决方案

输入JSON

{"clientid": "129710","delivery_status": [{"x-apiheader": "{\"txnid\":\"129710-122-2079719-0-230502181123\",\"senttime\":\"2023-05-02 18:11:23\",\"mobile\":\"9488702697\",\"linkId\":956}"},{"x-apiheader": "{\"txnid\":\"9710-122-2079719-0-230502181123\",\"senttime\":\"2023-05-02 18:11:23\",\"mobile\":\"9488702697\",\"linkId\":956}"}]}

期望输出JSON

[{"txnId":"129710-122-2079719-0-230502181123"},{"txnId":"9710-122-2079719-0-230502181123"}]

有效Jolt Spec

[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "delivery_status": {
        "*": {
          "parsedHeader": "=parseJson(@(1,x-apiheader))"
        }
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "delivery_status": {
        "*": {
          "parsedHeader": {
            "txnid": "[&2].txnId"
          }
        }
      }
    }
  },
  {
    "operation": "remove",
    "spec": {
      "clientid": ""
    }
  }
]

步骤说明

  • 第一步(modify-overwrite-beta):遍历delivery_status下的每个元素,用parseJson函数把x-apiheader对应的JSON字符串解析成可操作的JSON对象,存入临时字段parsedHeader。
  • 第二步(shift):提取parsedHeader里的txnid字段,重命名为txnId,通过[&2]回溯到delivery_status的数组索引位置,保证输出数组的顺序和输入一致。
  • 第三步(remove):清除输入中不需要的clientid字段,确保输出结构符合要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 10:05:08