Как перейти к объекту json и получить его массив с помощью платформы робота

Успешно сохранено в списке массивов

Я хочу выполнить итерацию по списку местоположений и получить его тип страны, тип и текст велосипеда bikeList.

    {
"addedToList": {
    "locationList": [
        {
            "countryType": "US"
            "LineList": [
                {
                    "Text": "thequickbrownfoxjumps over the lazy dog"
                }
            ]
        }
    ],
    "bikeList": [
        {
            "BikeType": "road"
            "LineList": [
                {
                    "Text": "text"

                }
            ]
        }
    ]
},
"addedLine": "2"
}
Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
0
0
72
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

используйте JSON [https://goessner.net/articles/JsonPath/][селектор запросов] $..locationList[?(@.countryType)].countryType для фильтрации всех типов стран в выбранном объекте

Если хотите с чистой робототехникой, вы можете проверить robotframework-jsonlibrary

Пример робота для доступа к стране вашего json-файла:

*** Settings ***
Library     JSONLibrary
Library     Collections

*** Test Cases ***
Test For Json
    ${json_obj} =   Load JSON From File     example.json
    ${countries} =  Get Value From Json     ${json_obj}     $..countryType
    @{countries} =  Convert To List         ${countries}
    FOR     ${country}     IN      @{countries}
        Log To Console      ${country}
    END

И более того, если вы знакомы с расширением ключевых слов робота с помощью python, вы также можете написать свои собственные ключевые слова с помощью python.

Спасибо, что используете путь json для его получения. это тоже полезно.

Hu66s 22.03.2022 06:50
Ответ принят как подходящий

Вы также можете сделать это без JSONLibrary, просто используя json.loads через Evaluate Ключевое слово

*** Variables ***
${MY_JSON}    {"addedToList":{"locationList":[{"countryType":"US","LineList":[{"Text":"thequickbrownfoxjumps over the lazy dog"}]}],"bikeList":[{"BikeType":"road","LineList":[{"Text":"text"}]}]},"addedLine":"2"}

*** Test Cases ***
Test For Json
    ${json}    Evaluate   json.loads('''${MY_JSON}''')    json
    FOR   ${loc_list}    IN    @{json['addedToList']['locationList']}
        Log    countryType: ${loc_list["countryType"]}  console=True
    END
    FOR   ${bike_list}    IN    @{json['addedToList']['bikeList']}
        Log    BikeType: ${bike_list["BikeType"]}  console=True
    END

Бро, как я могу проверить это?

Hu66s 24.03.2022 01:43

Другие вопросы по теме