example - getjson post
getJSON vs. optJSON (3)
Estaba revisando la documentation de JSONObject
cuando noté los dos métodos: getJSONObject(String key)
y optJSONObject(String key)
. A partir de la documentación, pensé que hicieron casi lo mismo con una diferencia: si no se encuentra la clave o el valor, entonces getJSONObject()
lanza una JSONException
mientras que optJSONObject()
simplemente devuelve null
.
- ¿Hay alguna otra diferencia entre
getJSONObject()
yoptJSONObject()
? - ¿Cuáles son las ventajas de
get
unaopt
y viceversa? - ¿Hay situaciones específicas en las que me gustaría usar una sobre la otra o donde se desaconseja / prohíbe su uso?
Estoy usando optJSONObject en mi archivo json con "oraciones" clave y me devuelve nulo, pero el resultado correcto podría ser JSONArray o String.
{
"sentences":[
{
"trans":"làm",
"orig":"do",
"translit":"",
"src_translit":""
}
]
}
Un valor en el JSON puede ser opcional, por lo que usar optJSONObject es mejor porque solo tiene que verificar si es nulo o no y continuar con su función.
optString
devuelve la cadena vacía ("") si la clave que especifica no existe. getString
lanza una JSONException
.