Quelle est la différence entre getString()
et optString()
en JSON?
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.
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>")
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.