[英]How to iterate over JSON array using robot framework
我想遍歷json響應並獲取id和name元素數據。我正在嘗試的響應json和代碼如下。 有人可以讓我知道我在做什么錯。
[
{
"id": 3,
"policyRevId": 3,
"busId": "POL_0003",
"revision": 1,
"name": "CIS Microsoft Windows Server 2012 R2 v2.2.1"
},
{
"id": 2,
"policyRevId": 2,
"busId": "POL_0002",
"revision": 1,
"name": "CIS SUSE Linux Enterprise Server 11 Benchmark v 2.0"
},
{
"id": 1,
"policyRevId": 1,
"busId": "POL_0001",
"revision": 1,
"name": "Payment Card Industry (PCI) Data Security Standard version 3.1"
}
]
*** Settings ***
Library RequestsLibrary
Library Collections
Library strings
*** Test case ***
Get Policy With Auth
@{auth}= Create List user pass
Create Session httpbin https://test123.com/ auth=@{auth}
${resp}= Get Request httpbin uri=/policies/
:FOR ${i} in ${resp.json()}
\ Log ${i}
\ ${get_policy_id}= Get Variable Value ${resp.json()[i]['id']}
\ ${policy_name}= Get Variable Value ${resp.json()[i]['name']}
\ Log ${policy_id},${policy_name}
${resp.json()}
是一個列表,因此您應該能夠直接迭代列表中的項目。 請注意,在以下示例中,在:FOR
語句中使用@
,並且${item}
是字典而不是索引:
:FOR ${item} in @{resp.json()}
\ Log ${item}
\ ${get_policy_id}= Set variable ${item['id']}
\ ${policy_name}= Set variable ${item['name']}
\ Log ${policy_id},${policy_name}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.