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

编写JOLT规格移除数组组元素中的空字符串与空格元素

JOLT转换解决方案:移除数组中空值/空格元素

问题描述

需通过JOLT规格移除数组中msgCode和msgDefinition均为空字符串或空格的元素,仅保留有效记录。

输入示例

{
  "C1-RECORD": {
    "C1-ACTIONS": {
      "C1-MESSAGES": [
        {
          "C1-MSG-CODE": "UPT",
          "C1-MSG-DEFINITION": "Update task"
        },
        {
          "C1-MSG-CODE": "DEL",
          "C1-MSG-DEFINITION": "Delete task"
        },
        {
          "C1-MSG-CODE": " ",
          "C1-MSG-DEFINITION": " "
        },
        {
          "C1-MSG-CODE": " ",
          "C1-MSG-DEFINITION": " "
        }
      ]
    }
  }
}

正确JOLT转换规格

[
  {
    "operation": "shift",
    "spec": {
      "C1-RECORD": {
        "C1-ACTIONS": {
          "C1-MESSAGES": {
            "*": {
              "C1-MSG-CODE": {
                " ": null,
                "*": {
                  "@2,C1-MSG-CODE": "actions.messages[#3].msgCode",
                  "@2,C1-MSG-DEFINITION": "actions.messages[#3].msgDefinition"
                }
              }
            }
          }
        }
      }
    }
  }
]

规格说明

  • 利用shift操作的条件匹配逻辑:先判断C1-MSG-CODE是否为空格,若是则设为null直接丢弃;若不是,则通过@2回溯到当前数组元素层级,提取对应的两个字段值。
  • [#3]用于构建新的数组索引,确保有效元素按原有顺序存入actions.messages数组,保持对象结构不被打乱。
  • 示例中无效元素的两个字段均为空格,因此仅过滤C1-MSG-CODE即可覆盖需求。

输出结果

{
  "actions": {
    "messages": [
      {
        "msgCode": "UPT",
        "msgDefinition": "Update task"
      },
      {
        "msgCode": "DEL",
        "msgDefinition": "Delete task"
      }
    ]
  }
}

补充:双字段严格过滤

若需要确保msgCode和msgDefinition都不为空格才保留元素,可使用以下规格:

[
  {
    "operation": "shift",
    "spec": {
      "C1-RECORD": {
        "C1-ACTIONS": {
          "C1-MESSAGES": {
            "*": {
              "C1-MSG-CODE": {
                " ": null,
                "*": {
                  "@1,C1-MSG-DEFINITION": {
                    " ": null,
                    "*": {
                      "@3,C1-MSG-CODE": "actions.messages[#4].msgCode",
                      "@3,C1-MSG-DEFINITION": "actions.messages[#4].msgDefinition"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 15:07:08