JsonElement Исходный код: https://github.com/google/gson/blob/master/gson/src/main/java/com/google/gson/JsonElement.java
Класс JsonElement является абстрактным классом, он предназначен для использования через подклассы, которые предоставляют дополнительные реализации, для которых абстрактный класс не является достаточно конкретный.
Метод getAsString существует, да, но реализован так:
/**
* convenience method to get this element as a string value.
*
* @return get this element as a string value.
* @throws ClassCastException if the element is of not a {@link JsonPrimitive} and is not a valid
* string value.
* @throws IllegalStateException if the element is of the type {@link JsonArray} but contains
* more than a single element.
*/
public String getAsString() {
throw new UnsupportedOperationException(getClass().getSimpleName());
}
Это означает, что вы должны предоставить реализацию в своем подклассе.
Итак, чтобы получить желаемый результат, вам нужно привести переменную к вашему подклассу, прежде чем вызывать для нее getAsString ().