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

如何编写JOLT Shift转换实现多级嵌套item的扁平化提取?

提取所有层级item到数组的JOLT转换方案

通用JOLT Spec

这个Spec无需预先知晓JSON层级数量,能递归捕获所有深度的item字段并汇总到数组:

[
  {
    "operation": "shift",
    "spec": {
      "**": {
        "item": "items[]"
      }
    }
  }
]

验证示例

2层级输入

{
  "level1": {
    "item": "item1",
    "sub": {
      "item": "item2"
    }
  }
}

转换后输出

{
  "items": [
    "item1",
    "item2"
  ]
}

3层级输入

{
  "level1": {
    "item": "item1",
    "sub": {
      "item": "item2",
      "deepSub": {
        "item": "item3"
      }
    }
  }
}

转换后输出

{
  "items": [
    "item1",
    "item2",
    "item3"
  ]
}

原理说明

  • **是JOLT的递归通配符,会匹配根节点下任意深度的所有节点
  • 对每个匹配到的节点,提取其item字段的值,追加到items数组中
  • 不管JSON有多少层级嵌套,只要节点下存在item字段,都会被捕获并汇总

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 08:35:30