如何在Robot Framework中仅更新嵌套JSON指定员工的name值
在Robot Framework中仅更新嵌套JSON中指定条件的字段
嗨,作为Robot Framework新手,你遇到的问题核心是JSONPath表达式匹配范围太广——你用的$..name会匹配JSON里所有层级的name字段,所以两个员工的名字都被更新了。要只修改emp_id=1110的员工名称,你需要用带过滤条件的JSONPath来精准定位目标字段。
正确的实现方式
调整Update Value To Json关键字的JSONPath参数,加入针对emp_id的过滤逻辑即可:
${updated_json_value}= Update Value To Json ${json_sub_header_key_content} $..db_result_emp[?(@.emp_id == 1110)].name "zzz"
这个JSONPath的具体含义:
$..db_result_emp:递归遍历JSON结构,找到所有名为db_result_emp的数组[?(@.emp_id == 1110)]:过滤数组中emp_id属性等于1110的元素(@代表当前遍历到的数组元素).name:定位到该元素下的name字段
这样就能精准定位到你想要修改的那个name字段,不会影响其他员工的数据啦。
内容的提问来源于stack exchange,提问作者Ashu123
相关产品推荐
相关产品推荐

