Документы говорят, что метод JsonObject # get возвращает значение null, если такой член не существует. Это неточно; иногда вместо null
возвращается объект JsonNull
.
Какова идиома для проверки того, существует ли конкретное поле в GSON? Я хочу избежать этого неуклюжего стиля:
jsonElement = jsonObject.get("optional_field");
if (jsonElement != null && !jsonElement.isJsonNull()) {
s = jsonElement .getAsString();
}
Почему GSON использовал JsonNull
вместо null
?
Существует ответ , что - различия между null
и JsonNull
. В моем вопросе выше я ищу причины, по которым.