簡體   English   中英

如何使用機器人框架遍歷JSON數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM