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

Jolt v0.1.1映射问题求助:按优先级提取日期并重组JSON

Jolt 转换实现日期字段优先级保留需求

首先注意你提供的输入JSON存在语法错误,reservationList数组内的对象缺少外层大括号,修正后的输入如下:

{
  "reservation": {
    "date": "2024-03-01",
    "reservationList": [
      {
        "language": "en",
        "date": "2024-03-02"
      }
    ]
  }
}

以下是满足你需求的Jolt转换规范:

[
  {
    "operation": "shift",
    "spec": {
      "reservation": {
        "date": "reservation.date",
        "reservationList": {
          "[0]": {
            "language": "reservation.language",
            "date": "reservation.date"
          }
        }
      }
    }
  },
  {
    "operation": "remove",
    "spec": {
      "reservation": {
        "reservationList": ""
      }
    }
  }
]

逻辑说明

  1. Shift 操作:
    • 优先提取外层 reservation.date 到目标路径,这是最高优先级的取值
    • 将 reservationList[0].language 提取到目标的 reservation.language 字段
    • 最后提取 reservationList[0].date 到 reservation.date,由于Jolt的Shift操作中已存在的字段不会被后续同路径操作覆盖,只有当外层date缺失时,这个赋值才会生效
  2. Remove 操作:移除不需要保留的reservationList字段

测试验证

  • 当外层date存在时,输出与你期望一致:
{
  "reservation": {
    "date": "2024-03-01",
    "language": "en"
  }
}
  • 当外层date缺失时,自动使用reservationList[0].date:
{
  "reservation": {
    "date": "2024-03-02",
    "language": "en"
  }
}
  • 当两者都缺失时,date字段不会显示:
{
  "reservation": {
    "language": "en"
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 13:26:07