You need to enable JavaScript to run this app. 使用JOLT转换JSON数组为指定字段结构的问题咨询
优惠活动
大模型
产品
解决方案
定价
更多

使用JOLT转换JSON数组为指定字段结构的问题咨询

JOLT JSON 转换规则实现方案

核心转换需求

  • 输入纯字符串数组array转换为输出one_array数组
    • 原数组每个字符串值作为对应对象的code字段值
    • 每个对象的description字段固定赋值为空字符串
  • 输入对象数组array2转换为输出other_array数组
    • 兼容数组元素中不固定命名的字段
    • 元素内的数值类内容统一映射为id字段
    • 元素内的类别类内容统一映射为type字段

可直接使用的JOLT转换规则

[
  {
    "operation": "shift",
    "spec": {
      "array": {
        "*": {
          "@": "one_array[&1].code",
          "#": "one_array[&1].description"
        }
      },
      "array2": {
        "*": {
          "*": {
            "@": "other_array[&2].tmp[&1]"
          }
        }
      }
    }
  },
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "other_array": {
        "*": {
          "id": "=join('', @(1.tmp[0]))",
          "type": "=join('', @(1.tmp[1]))"
        }
      }
    }
  },
  {
    "operation": "remove",
    "spec": {
      "other_array": {
        "*": {
          "tmp": ""
        }
      }
    }
  }
]

规则逻辑说明

  • 针对array的处理:通过通配符遍历原数组的每个索引位置,将原位置的字符串值映射为one_array对应索引对象的code值;通过JOLT的字面量生成语法#,给每个对象固定写入空字符串作为description字段值。
  • 针对array2的处理:
    1. 第一阶段通过通配符遍历每个数组元素下的所有字段(无字段名硬编码,兼容任意命名的字段),将字段值按原有顺序收集到临时tmp数组中
    2. 第二阶段通过修改操作,提取临时数组的第一个元素(数值类内容)赋值给id字段,第二个元素(类别类内容)赋值给type字段
    3. 第三阶段移除临时生成的tmp字段,最终输出结构和目标要求完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.06 09:24:01