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

Robot Framework中使用Get Value From Json的JsonPath参数时始终报KeyError

问题解决:Robot Framework中Get Value From Json报KeyError的原因及修复

问题根源

你的报错是因为Robot Framework会解析参数中的$符号,把$.foo.bar误认为是变量引用,进而尝试直接以$.foo.bar作为key从字典${tmp}中取值——显然这个key不存在,所以抛出KeyError。

修复方案

方案1:给JsonPath表达式加引号

给$.foo.bar包裹单/双引号,避免Robot Framework错误解析$符号,让它作为字符串参数传递给关键字:

Library           JSONLibrary

*** Test Cases ***

Example 
    ${tmp} =  Convert String To JSON    {"foo": {"bar": [1,2,3]}}
    Log to console     tmp: ${tmp} 
    ${values_test}=     Get Value From Json     ${tmp}    '$.foo.bar'
    Log to console     values_test: ${values_test} 

方案2:简化路径表达式(适配旧版本JSONLibrary)

如果你的JSONLibrary版本较老,可能不支持带$前缀的JsonPath,可以直接使用点分隔的层级路径:

${values_test}=     Get Value From Json     ${tmp}    foo.bar

方案3:升级JSONLibrary到最新版

执行以下命令升级库,确保支持标准JsonPath语法:

pip install --upgrade robotframework-jsonlibrary

验证效果

修改后运行测试,控制台会正确输出values_test: [1, 2, 3]。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 03:41:43