The difference between getString() and optString() in Json
As Diego mentions, it's a good idea to check the documentation (this link is now out of date - good thing we have the Wayback Machine!) before posting a question here, but now that you have:
The difference is that optString
returns the empty string (""
) if the key you specify doesn't exist. getString
on the other hand throws a JSONException
. Use getString
if it's an error for the data to be missing, or optString
if you're not sure if it will be there.
Edit: Full description from the documentation:
Get an optional string associated with a key. It returns an empty string if there is no such key. If the value is not a string and is not null, then it is converted to a string.
If you want to avoid NullPointerException
you better make use of optString()
If you are fetching the data from JSON
at any time, you might have null
data for a particular Key value, at that time instead of implementing Null conditions, better make use of this optimized method optString("<keyname>")
public java.lang.String optString(int index) Get the optional string value associated with an index. It returns an empty string if there is no value at that index. If the value is not a string and is not null, then it is coverted to a string. Parameters: index - The index must be between 0 and length() - 1. Returns: A String value.