Разобрать массив строк и и выбрать конкретное значение узла - PullRequest
1 голос
/ 17 октября 2019

это приходит как строка, я должен извлечь "сообщение" из этого с использованием минимальной строки

уже пробовал GSON, Object Mapper

{
  "errors": [
    {
      "timestamp": "2019-10-17T10:45:26.276+0000",
      "message": "This is an error",
      "debugMessage": "not working"
    }
  ]
}

Вот мой код, который я пробовал такдалеко

JsonParser parser = new JsonParser(); 
JsonElement element = parser.parse(response); 
JsonObject jsonObj = element.getAsJsonObject(); 
String errCode = jsonObj.get("errors").getAsString(); 

1 Ответ

0 голосов
/ 17 октября 2019

В приведенном выше примере JSON errors представляет собой JsonArray

JsonArray errCode = jsonObj.get("errors").getAsJsonArray();

Что составляет:

"errors": [
  {
  "timestamp": "2019-10-17T10:45:26.276+0000",
  "message": "This is an error",
  "debugMessage": "not working"
  }
]

А затем из JsonArray вам нужно получить кулак JsonObject, который находится по индексу 0

JsonObject innerObj = errCode.get(0).getAsJsonObject();

Что такое:

{
  "timestamp": "2019-10-17T10:45:26.276+0000",
  "message": "This is an error",
  "debugMessage": "not working"
}

Теперь получите messageот JsonObject

String msg = innerObj.get("message").getAsString();

Что составляет:

"message": "This is an error"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...