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

Как разобрать сложный файл ответов Json в Java

Синтаксический анализ файла JSON может быть немного сложным и запутанным, если вы не уверены, какую библиотеку использовать…. С пометкой java, новички, веб-разработчики.

Синтаксический анализ файла JSON может быть немного сложным и запутанным, если вы не уверены, какую библиотеку использовать. Существуют различные способы и доступные реализации, однако я решил использовать библиотеку GSON, поскольку это выглядело выполнимым для файла JSON, который я пытался проанализировать. Пример JSON приведен ниже

В этом примере я сохранил свой ответ в файле для демонстрации. Цель: Получить значение идентификатора пациента из этого JSON

{
  "response": {
    "body": {
      "patients": {
        "patient": [
          {
            "patientID": "ALM22346789",
            "submittedStatus": "In Progress",
            "patientType": "Inpatient",
            "submissionDate": "2020-10-15"
          }
        ]
      }
    },
    "status": {
      "statusCode": "200",
      "statusMessage": {

      }
    }
  }
}
Imports used:
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;

Шаг 1: Прочитайте файл из сохраненного местоположения и сохраните его в JSONObject

JsonObject myobject = (JsonObject) new JsonParser().parse(new FileReader("MyFilePath"));

Шаг 2: Удерживайте “ответ” в объекте JSON

JsonObject response = (JsonObject) myobject.get("response");

Удерживайте “ответ” в объекте JSON

JsonObject body = (JsonObject) response.get("body");
JsonObject patients= (JsonObject) body.get("patients");

Шаг 4: тег “patient” находится в массиве, поэтому мы сохраним его в объекте массива

JsonArray patientbody= (JsonObject) patients.get("patient");
JsonObject patient0= patientbody.get(0).getAsJsonObject();

Шаг 5: Далее мы извлекем “Идентификатор пациента”.

String patientID =caseBody0.get("patientID").getAsString(); System.out.println(patientID);

Вывод: (как напечатано в консоли)

ALM22346789

Оригинал: “https://dev.to/suparnadas01/how-to-parse-complex-json-response-file-in-java-3559”