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

能否通过JOLT实现JSON对象转数组(数组则保留原格式)

可以用JOLT实现该需求吗?

完全可以。通过结合JOLT的modify-overwrite-beta和shift操作,就能实现将单个JSON对象包装为数组,同时保留已有数组不变的需求。

JOLT变换规格

[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "isArray": "=isArray(@)"
    }
  },
  {
    "operation": "shift",
    "spec": {
      "isArray": {
        "true": {
          "@(2)": ""
        },
        "false": {
          "@(2)": "[]"
        }
      }
    }
  }
]

工作原理

  1. 第一步:判断输入类型
    modify-overwrite-beta操作会添加一个临时字段isArray,其值为布尔型,标识输入是否为数组。

  2. 第二步:根据类型处理输出
    shift操作通过isArray的值执行分支逻辑:

    • 若输入是数组(isArray: true),直接将原始输入(通过@(2)向上遍历两层获取根节点)复制到输出。
    • 若输入是单个对象(isArray: false),将原始输入赋值给[],从而包装为数组。

场景示例

场景1:输入为单个JSON对象

输入:

{"id": 1, "name": "Sample"}

输出:

[{"id": 1, "name": "Sample"}]

场景2:输入为JSON数组

输入:

[{"id":1, "name":"Item1"}, {"id":2, "name":"Item2"}]

输出:

[{"id":1, "name":"Item1"}, {"id":2, "name":"Item2"}]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 10:30:55