【问题标题】:Robot Framework how to count item list in JSONRobot Framework如何计算JSON中的项目列表
【发布时间】:2021-01-16 00:16:37
【问题描述】:

我想从 Robot Framework 上的 JSON API 中计算项目“开始”

{
    "result": {
        "api": "xxx",
        "timestamp": "14:41:18",
        "series": [
            {
                "series_code": "test",
                "series_name_eng": "test",
                "unit_eng": "t",
                "series_type": "e",
                "frequency": "s",
                "last_update_date": "2020",
                "observations": [
                    {
                        "start": "2020-01",
                        "value": "999"
                    },
                    {
                        "start": "2020-02",
                        "value": "888"
                    },
                    {
                        "start": "2020-03",
                        "value": "777"
                    },
                ]
            }

我用这个不工作

${json_string}    Get File        ./example.json
 ${json_object}    evaluate        json.loads('''${json_string}''')    json    
 #${value}=    get value from json    ${json_object}    $.result.series[0].observations
 ${x_count}    Get Length    ${json_object["$.result.series[0].observations"]}

你能帮忙指导一下吗?

【问题讨论】:

  • json 不是有效的 json。
  • 请在此链接中查看完整的 JSON:justpaste.it/2wac0

标签: json api automated-tests robotframework


【解决方案1】:

上例中提供的 Json 无效。这需要通过关闭系列数组] 来解决,然后关闭结果对象},然后关闭外部对象} 有效的 json 看起来像这样 -

${Getjson}=         {"result":{"api":"xxx","timestamp":"14:41:18","series":[{"series_code":"test","series_name_eng":"test","unit_eng":"t","series_type":"e","frequency":"s","last_update_date":"2020","observations":[{"start":"2020-01","value":"999"},{"start":"2020-02","value":"888"},{"start":"2020-03","value":"777"}]}]}}

你很接近这个 jsonpath $.result.series[0].observations。正确的在下面的示例中-

${json}=          Convert String to JSON    ${Getjson}
@{Start}=         Get Value From Json     ${json}            $.result.series[?(@.observations)].observations[?(@.start)].start
${length}         Get length          ${Start}   
log               ${length}

输出:-

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-22
    • 2017-08-01
    • 2017-12-02
    • 1970-01-01
    • 2014-09-06
    • 2011-09-07
    • 2016-03-03
    • 2018-02-08
    相关资源
    最近更新 更多