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

如何忽略列表中的None值?使用Remove values from list无效该怎么解决?

问题根因说明

  • Remove values from list失效原因:该关键字不能用/分隔多个待移除值,你传入的None/${empty}/null会被识别为单个完整字符串,而非三个独立的待过滤值;同时Robot Framework中None、${EMPTY}、JSON反序列化后的null是不同类型的空值,需要先确认列表中存储的空值类型再匹配移除。
  • JsonPath报错原因:你使用的过滤语法不符合当前依赖的JsonPath解析库规范,缺少条件包裹括号,且判断空值的表达式写法错误。

可用解决方法

方法1:修正Remove values from list的用法

如果列表中存储的空值是Python原生None,按如下方式调用:

# 循环移除所有None
:FOR    ${item}    IN    @{list}
\   Run Keyword If    '${item}' == '${None}'    Remove Values From List    ${list}    ${item}

如果同时存在空字符串${EMPTY},新增对应判断逻辑即可。

方法2:直接用Evaluate过滤列表(效率更高)

直接调用Python列表推导式过滤,不需要循环调用关键字:

# 仅过滤所有None值
${filtered_list}=    Evaluate    [item for item in $list if item is not None]
# 同时过滤None和空字符串的写法
${filtered_list}=    Evaluate    [item for item in $list if item not in (None, "")]

方法3:修正JsonPath语法直接过滤空值

使用符合jsonpath-ng规范的过滤表达式,提取时直接跳过空值无需二次处理:

${TARGET_TEXT}=    Get Json Path    ${RESPONSE}    $.pipelines..filter.children..targetText[?(@ != null)]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 05:21:01