Was ist der Unterschied zwischen getString()
und optString()
in JSON?
Wie Diego erwähnt, ist es eine gute Idee, die Dokumentation (dieser Link ist jetzt nicht mehr aktuell - gut, dass wir die Wayback-Maschine! ) haben, bevor Sie hier eine Frage stellen. aber jetzt wo du hast:
Der Unterschied besteht darin, dass optString
die leere Zeichenfolge zurückgibt (""
) wenn der angegebene Schlüssel nicht existiert. getString
dagegen wirft ein JSONException
. Verwenden Sie getString
, wenn die Daten fehlen, oder optString
, wenn Sie nicht sicher sind, ob sie vorhanden sein werden.
Bearbeiten: Vollständige Beschreibung aus der Dokumentation:
Ruft eine optionale Zeichenfolge ab, die einem Schlüssel zugeordnet ist. Gibt einen leeren String zurück, wenn kein solcher Schlüssel vorhanden ist. Wenn der Wert keine Zeichenfolge und nicht null ist, wird er in eine Zeichenfolge konvertiert.
Wenn Sie NullPointerException
vermeiden möchten, sollten Sie optString()
verwenden.
Wenn Sie die Daten zu einem beliebigen Zeitpunkt aus JSON
abrufen, sind möglicherweise null
Daten für einen bestimmten Schlüsselwert vorhanden. Verwenden Sie zu diesem Zeitpunkt diese optimierte Methode, anstatt Nullbedingungen zu implementieren. optString("<keyname>")
public Java.lang.String optString (int index) Ruft den optionalen Zeichenfolgenwert ab, der einem Index zugeordnet ist. Es wird eine leere Zeichenfolge zurückgegeben, wenn an diesem Index kein Wert vorhanden ist. Wenn der Wert keine Zeichenfolge und nicht null ist, wird er in eine Zeichenfolge umgewandelt. Parameter: index - Der Index muss zwischen 0 und length () - 1 liegen. Rückgabe: Ein String-Wert.