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

使用JOLT为空数组添加默认值的技术实现问题

解决方案

要实现空数组添加占位符、非空数组保留原内容的需求,可以使用JOLT的modify-overwrite-beta操作,结合ifElse和size函数来判断数组长度并处理:

正确的JOLT配置

[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "my_array": "=ifElse(size(@) == 0, ['placeholder'], @)"
    }
  }
]

配置说明

  • modify-overwrite-beta:支持对已有字段的值进行修改覆盖
  • size(@):获取当前my_array数组的长度
  • ifElse(条件, 真值结果, 假值结果):当数组长度为0时,替换为["placeholder"];否则保留原数组内容@(代表当前字段的原始值)

之前方案失败原因

  1. default操作失效:default仅对不存在的键生效,你的输入中my_array是存在的(即使是空数组),因此default不会覆盖已有值。
  2. shift操作报错:你编写的shift规则语法不符合JOLT规范,不能直接用"[]"作为空数组的匹配条件,导致解析时抛出异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 13:50:08