web-dev-qa-db-fra.com

La différence entre getString () et optString () dans Json

Quelle est la différence entre getString() et optString() en JSON?

65
oferiko

Comme Diego le mentionne, c'est une bonne idée de vérifier le documentation (ce lien est maintenant obsolète - bonne chose, nous avons le Wayback Machine! ) avant de poser une question ici, mais maintenant que vous avez:

La différence est que optString renvoie la chaîne vide ("") si la clé que vous spécifiez n'existe pas. getString jette en revanche un JSONException. Utilisez getString s'il s'agit d'une erreur générant des données manquantes ou optString si vous n'êtes pas sûr de sa présence.

Edit: Description complète de la documentation:

Obtenez une chaîne facultative associée à une clé. Il retourne une chaîne vide s'il n'y a pas de telle clé. Si la valeur n'est pas une chaîne et n'est pas null, elle est convertie en chaîne.

116
Jeff

Si vous voulez éviter NullPointerException vous feriez mieux d'utiliser optString()

Si vous extrayez les données de JSON à tout moment, vous pourriez avoir les données null pour une valeur de clé particulière, au lieu d'implémenter des conditions Null, il serait préférable de mieux utiliser cette méthode optimisée optString("<keyname>")

10
Trinadh Koya

public Java.lang.String optString (int index) Obtient la valeur de chaîne facultative associée à un index. Il renvoie une chaîne vide s'il n'y a pas de valeur à cet index. Si la valeur n'est pas une chaîne et n'est pas null, elle est convertie en chaîne. Paramètres: index - L'index doit être compris entre 0 et length () - 1. Renvoie: Une valeur de chaîne.

1
Cprk