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.