Запросити json і розпарсити на java (junit

Є якийсь сервіс, який віддає JSON. Як можна засобами JUnit / TestNG отримати JSON і розпарсити його? Гугл, заблукав в 3 соснах. 2 дні сидів не розібрався.

Шукаю щось просте, типу
res = makeRequest (URL, params);
findValue = res.getInt (1) .getText ();

Запросити json і розпарсити на java (junit

Найпростіше це Jackson або Gson

"Provide simple toJson () and fromJson () methods to convert Java objects to JSON and vice-versa"

На сьогодні найпростіше і функціональне.

Результат потім Парс як JSON об'єкт Jackson бібліотекою. Повний код методу:

P.S. Використовую для відправки запитів в Elasticsearch

Я використовую досить довгий час - мені дуже подобається.

З ридми:
Getting and parsing a response body:

// Example with JsonPath
String json = get ( "/ lotto"). AsString ()
List winnderIds = from (json) .get ( "lotto.winners.winnerId");

// Example with XmlPath
String xml = post ( "/ shopping"). AndReturn (). Body (). AsString ()
Node category = from (xml) .get ( "shopping.category [0]");

Чи є версія для C #? Як інтегрується з CI?

Особисто я користуюся ось цими двома бібліотеками і вкрай задоволений:

Приклад використання (для краси пара допоміжних методів пишеться, я їх прибрав для наочності):

Відповідно, зробивши запит ви отримуєте відповідь, з ним працюємо так (для краси пара допоміжних методів пишеться, я їх прибрав для наочності):

Для перевірки коду відповіді.

Для роботи з тілом відповіді як JSON:

Звернення до полів просте (у випадку з array - додається цикл по елементах списку):

Якщо JSON треба розпарсити в об'єкт, то можна використовувати JsonDeserializer і тієї ж бібліотеки Gson.
Виглядає приблизно так.
Клас відповідає за десеріалізацію:
public class TestDataClientJsonDeserializer implements JsonDeserializer @Override
public TestDataClient deserialize (JsonElement json, Type type,
JsonDeserializationContext context)
throws JsonParseException JsonObject jsonObject = json.getAsJsonObject ();
String clientName = jsonObject.get ( "name"). GetAsString ();
String clientPass = jsonObject.get ( "password"). GetAsString ();
String clientAddress = jsonObject.get ( "address"). GetAsString ();
OperatingSystem clientOperSystem = HelpUtils.parseEnum (OperatingSystem.class, jsonObject.get ( "arch"). GetAsString ());
TestDataClient client = new TestDataClient (clientName,
clientPass,
clientAddress,
clientOperSystem);
client.setGlobalId (jsonObject.get ( "globalId"). getAsString ());
client.setClientDesc (jsonObject.get ( "description"). getAsString ());
return client;
>
>

Використання:
public TestDataClient getClienе (String json) TestDataClient client = this.gson.fromJson (json, TestDataClient.class);
return client;
>

Є якийсь сервіс, який віддає JSON. Як можна засобами JUnit / TestNG отримати JSON і розпарсити його? Гугл, заблукав в 3 соснах. 2 дні сидів не розібрався.

Вам не просто треба розпарсити його, а ще й отримати, як я зрозумів, за такою ось рядку

Запросити json і розпарсити на java (junit