java json org.json

java - La diferencia entre getString() y optString() en Json



org.json (3)

¿Cuál es la diferencia entre getString() y optString() en JSON?


Como menciona Diego, es una buena idea consultar la documentation (este enlace ya no está actualizado, ¡que bueno que tengamos Wayback Machine! ) Antes de publicar una pregunta aquí, pero ahora que tiene:

La diferencia es que optString devuelve la cadena vacía ( "" ) si la clave que especifica no existe. getString por otro lado lanza una JSONException . Utilice getString si es un error para los datos que faltan, o optString si no está seguro de si estará allí.

Editar: descripción completa de la documentación:

Obtenga una cadena opcional asociada con una clave. Devuelve una cadena vacía si no hay tal clave. Si el valor no es una cadena y no es nulo, entonces se convierte en una cadena.


Si desea evitar NullPointerException , mejor haga uso de optString()

Si está obteniendo los datos de JSON en cualquier momento, puede tener datos null para un valor clave en particular, en ese momento en lugar de implementar condiciones nulas, mejor haga uso de este método optimizado optString("<keyname>")


public java.lang.String optString (índice int) Obtenga el valor de cadena opcional asociado con un índice. Devuelve una cadena vacía si no hay ningún valor en ese índice. Si el valor no es una cadena y no es nulo, entonces se convierte en una cadena. Parámetros: índice: el índice debe estar entre 0 y length () - 1. Devuelve: un valor de cadena.