首页 > 解决方案 > 如何在机器人框架中获取这个 Json 元素的长度

问题描述

我想在 Robot Framework 中获取这个 json 元素的长度。

json 示例

[
  [
    {
      "a": "2020-01",
      "value": "1"
    },
    {
      "a": "2020-02",
      "value": "2"
    },
    {
      "a": "2020-03",
      "value": "10"
    },
    {
      "a": "2020-04",
      "value": "9"
    },
    {
      "a": "2020-05",
      "value": "0"
    },
    {
      "a": "2020-06",
      "value": "7"
    }
  ]
]

预期的结果是

a 2020-01
value 1
a 2020-02
value 2
a 2020-03
value 10
a 2020-04
value 9
a 2020-05
value 0
a 2020-06
value 7

长度 = 6

我试试

${data_length}=      get length       ${json_data}

不管用

我认为有 [ ] 2 个级别。请指导我,谢谢

标签: pythonjsonrobotframework

解决方案


您需要将 JSON 转换为 python 数据结构,然后您可以Get Length在最外层列表的第一个元素上使用关键字。

这是一种方法。它假定 JSON 数据不为空,并且原始 JSON 数据位于名为${json_data}

${data}=    Evaluate  json.loads($json_data)
${length}=  Get length  ${data[0]}

Should be equal as numbers  ${length}  6

推荐阅读