Библиотека Google Json Parsing Gson: в чем разница между JsonElement и JsonObject?

public abstract class JsonElement extends Object 

Класс, представляющий элемент Json. Это может быть JsonObject, JsonArray, JsonPrimitive или JsonNull.

public final class JsonObject extends JsonElement 

Класс, представляющий тип объекта в Json. Объект состоит из пар имя-значение, где имена - это строки, а значения - это любой другой тип JsonElement. Это позволяет создавать дерево JsonElements. Элементы-члены этого объекта поддерживаются в порядке их добавления.

Уу гугл!

Не обращайте внимания на этот вопрос.

Ответы на вопрос(2)

JsonElement является базовым типом для всех различных конкретных типов - это базовый класс с общими вещами, которые должны реализовывать все узлы. Логично, это имеет большой смысл.

То, что все конкретные типы наследуют отJsonElement это тоже хорошо для тебя. Это позволяет вам проверить, является ли объект представлением узла Json, просто проверив, наследуется ли он отJsonElement.

JsonElement Класс доступен для вас как общедоступный класс, вероятно, не потому, что вы хотите создать подкласс, а потому, что вы хотите проверить его подклассы.

Решение Вопроса

JsonElement содержит общий код для всех допустимых типов в JSON:

JsonObject JsonArray JsonPrimitive (string, number, boolean) JsonNull

Это позволяет вам написать метод, который принимаетJsonElement это работает с любым из вышеперечисленных типов.

Ваш ответ на вопрос