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

Jolt转换问题:单对象转数组生成独立标签,求修正Spec

Jolt Shift 转换问题修正

问题说明

需将输入JSON中的单个purpose对象转换为数组,但当前Jolt Shift操作的Spec生成了独立的account标签,未嵌套在原结构中。

输入JSON

{"payload":{"settings":[{"account":[{"number":"1","purpose":{"type":"netflix"}}]}]}}

当前错误的Jolt Spec

[{"operation":"shift","spec":{"payload":{"*":"&1.&","settings":{"*":{"*":"&3.&2.[&1].&","account":{"*":{"*":"&5.&4.[&3].&2.[&1].&","purpose":{"0":{"@(2,purpose)":"&4.[&3].&2"},"type":{"@(2,purpose)":"&4.[&3].&2[]"}}}}}}}}]

错误输出

{"payload":{"settings":[{"account":[{"number":"1"}]}]},"account":[{"purpose":[{"type":"netflix"}]}]}

期望输出

{"payload":{"settings":[{"account":[{"number":"1","purpose":[{"type":"netflix"}]}]}]}}

问题分析

当前Spec存在两处核心问题:

  • 处理purpose时的输出路径逻辑错误,未正确继承payload.settings.account的层级结构,导致生成了外层独立的account节点
  • 针对purpose设计的0和type分支冗余且逻辑混乱,破坏了原有数据的嵌套关系

修正后的Jolt Spec

[
  {
    "operation": "shift",
    "spec": {
      "payload": {
        "settings": {
          "*": {
            "account": {
              "*": {
                "number": "payload.settings.[&3].account.[&1].number",
                "purpose": {
                  "@": "payload.settings.[&4].account.[&2].purpose[]"
                }
              }
            }
          }
        }
      }
    }
  }
]

验证结果

使用修正后的Spec处理输入JSON,可得到符合预期的输出:purpose被成功转换为数组,且完全嵌套在原有的account结构中,无多余外层节点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 12:40:23