read - scala import play json
GSON JsonObject "Excepción de operación no admitida: nula" getAsString (3)
Ejecutando un juego! Aplicación con Scala. Estoy haciendo una solicitud donde se espera que la respuesta sea una cadena JSON. Al verificar el depurador, JsonElement devuelve OK con toda la información como se esperaba. Sin embargo, el problema es cuando trato de ejecutar métodos en ese JsonElement.
val json = WS.url("http://maps.googleapis.com/maps/api/geocode/json?callback=?&sensor=true&address=%s", startAddress+","+startCity+","+startProvince).get.getJson
val geocoder = json.getAsString
El único error que recibo es Unsupported Operation Exception: null
y lo he intentado en getAsString
y getAsJsonObject
y getAsJsonPrimitive
¿Alguna idea de por qué está fallando en todos los métodos? Gracias.
En mi caso, solo necesitaba obtener el elemento como una cadena vacía si es nulo, así que escribí una función como esta:
private String getNullAsEmptyString(JsonElement jsonElement) {
return jsonElement.isJsonNull() ? "" : jsonElement.getAsString();
}
Entonces, en lugar de
val geocoder = json.getAsString
Puedes usar esto
val geocoder = getNullAsEmptyString(json);
Devuelve "" si el elemento es nulo y la cadena real si no es
Tal vez sea su JsonElement
es un JsonNull
Lo que podrías hacer es verificar primero que no está usando json.isJsonNull
De lo contrario, intente obtener su representación de cadena con json.toString
Tuve un problema similar y tuve que cambiar jsonObject.getAsString () a jsonObject.toString ();