我有这样的数据
{"_embedded":[
{"attr_name":"attr_value_1"},
{"attr_name":"attr_name_2"}
]
}
我希望得到第一个属性attr_value_1
。
你知道在Robot框架中如何做到这一点的好方法吗?像Get JSON /_embedded[0]/attr_name
?
答案 0 :(得分:4)
您可以将JSON数据转换为python对象,然后使用robot extended variable syntax来获取元素。在python中,值被引用为data["_embedded"][0]["attr_name"]
,它直接转换为${data["_embedded"][0]["attr_name"]}
的机器人扩展变量语法
这是一个完整的例子:
*** Test Cases ***
Example
${json}= catenate SEPARATOR=\n
... {"_embedded":[
... {"attr_name":"attr_value_1"},
... {"attr_name":"attr_name_2"}
... ]
... }
${data}= evaluate json.loads('''${json}''') json
should be equal as strings ${data["_embedded"][0]["attr_name"]} attr_value_1
should be equal as strings ${data["_embedded"][1]["attr_name"]} attr_name_2