Рубрики
Без рубрики

Как просто просмотреть ответ JSON из поиска в облаке на Java

Это краткая шпаргалка о том, как просто изучить ответ JSON в Java.. Помечен jsonarray, jsonreader, java, cloudant.

Это краткая шпаргалка о том, как просто изучить ответ JSON из поиска Cloudant в Java. Я нашел разные примеры, но эти примеры были (более или менее) старыми примерами, где я пропустил некоторые фрагменты, и в конце для меня документация Java EE была лучшим ресурсом для ее реализации.

В JSON Я хотел проверить, был ли JSON с вложенным массивом JSON, и этот массив также содержит вложенный JSON.

Формат JSON поискового ответа Cloudant

Здесь вы видите формат JSON, который я хотел изучить. Как я уже сказал: это JSON с вложенным массивом JSON, и массив также содержит вложенный JSON.

{
  "total_rows": 1,
  "bookmark": "g2wAAAABaANkAClkYmNvcmVAZGI3LmJtLWNjLXVzLXNvdXRoLTExLmNsb3VkYW50Lm5ldGwAAAACYhAAAABiH____2poAkY_8AAAAAAAAGEAag",
  "rows": [
    {
      "fields": {
        "url": "https://haralduebele.github.io/2019/02/17/blue-cloud-mirror-dont-open-the-doors/",
        "customer": "your-blogs",
        "title": "Blue Cloud Mirror — (Don't) Open The Doors!",
        "type": "articles",
        "authorName": "Harald Uebele"
      },
      "id": "7a5f27ce3ef66f895cb666e46ce45e55"
    }
  ]
}

Это просто контент, который мне нужен из ответа JSON на поиск Cloudant :

  • Имя автора
  • Заглавие
  • URL-адрес

Пример в формате JavaScript:

rows[0].fields.authorName
rows[0].fields.title
rows[0].fields.url

Java-код и импорт

Вот код Java и импорт, который я использовал.

Импорт

// JSON
import javax.json.Json;
import javax.json.JsonObject;
import javax.json.JsonArray;
import javax.json.JsonReader;
// Need to the string input
import java.io.StringReader;  

Код

Шаги:

  1. Получите значение ответа на поиск Cloudant
  2. Создайте простой объект JSON из значения ответа на поиск
  3. Извлечение вложенного массива JSON из простого объекта JSON
  4. Получите первую запись объекта JSON в массиве JSON
  5. Извлеките вложенный объект JSON из первой записи объекта JSON
  6. Извлеките соответствующие данные из вложенного объекта JSON.
// Cloudant search response value
System.out.println("-->log: search_response.toString: " + search_response.toString());

// Create simple json object from response value
JsonReader jsonReader = Json.createReader(new StringReader(search_response.toString()));
JsonObject object = jsonReader.readObject();
jsonReader.close();

// Extract nested json array from simple json object 
JsonArray rows = object.getJsonArray("rows");
System.out.println("-->log: rows: " + rows);

// Get the first json object entry in the json array 
JsonObject row_object = rows.getJsonObject(0);
System.out.println("-->log: row_object: " + row_object);

// Extract the nested json object from the first json object entry
JsonObject fields = row_object.getJsonObject("fields");
System.out.println("-->log:  fields: " + fields);

// Extract the relevant data from the nested json object
String url = fields.getString("url");
String authorName = fields.getString("authorName");
String title = fields.getString("title");
System.out.println("-->log: Author : " + authorName + " Title: " + " url: " + url);

Вывод на консоль для примера

Это пример вывода на консоль запущенного приложения.

-->log: search_response.toString: {
  "total_rows": 1,
  "bookmark": "g2wAAAABaANkAClkYmNvcmVAZGI3LmJtLWNjLXVzLXNvdXRoLTExLmNsb3VkYW50Lm5ldGwAAAACYhAAAABiH____2poAkY_8AAAAAAAAGEAag",
  "rows": [
    {
      "fields": {
        "url": "https://haralduebele.github.io/2019/02/17/blue-cloud-mirror-dont-open-the-doors/",
        "customer": "your-blogs",
        "title": "Blue Cloud Mirror — (Don't) Open The Doors!",
        "type": "articles",
        "authorName": "Harald Uebele"
      },
      "id": "7a5f27ce3ef66f895cb666e46ce45e55"
    }
  ]
}
-->log: rows: [{"fields":{"url":"https://haralduebele.github.io/2019/02/17/blue-cloud-mirror-dont-open-the-doors/","customer":"your-blogs","title":"Blue Cloud Mirror — (Don't) Open The Doors!","type":"articles","authorName":"Harald Uebele"},"id":"7a5f27ce3ef66f895cb666e46ce45e55"}]
-->log: row_object: {"fields":{"url":"https://haralduebele.github.io/2019/02/17/blue-cloud-mirror-dont-open-the-doors/","customer":"your-blogs","title":"Blue Cloud Mirror — (Don't) Open The Doors!","type":"articles","authorName":"Harald Uebele"},"id":"7a5f27ce3ef66f895cb666e46ce45e55"}
-->log:  fields: {"url":"https://haralduebele.github.io/2019/02/17/blue-cloud-mirror-dont-open-the-doors/","customer":"your-blogs","title":"Blue Cloud Mirror — (Don't) Open The Doors!","type":"articles","authorName":"Harald Uebele"}
-->log: Author : Harald Uebele Title:  url: https://haralduebele.github.io/2019/02/17/blue-cloud-mirror-dont-open-the-doors/

Дополнительные полезные ссылки:

Вот несколько дополнительных ссылок, которые могут дать вам дополнительную точку зрения.

Другие полезные ссылки:

Вот несколько дополнительных ссылок, которые могут дать вам дополнительную точку зрения.

Резюме

Наконец, довольно легко обрабатывать JSON в Java. Я надеюсь, что это было полезно для вас, и давайте посмотрим, что будет дальше?

Приветствия,

Томас

Оригинал: “https://dev.to/tsuedbroecker/how-to-simply-examine-a-json-response-from-a-cloudant-search-in-java-1a30”