| java.lang.Object | |
| ↳ | org.json.JSONObject | 
A modifiable set of name/value mappings. Names are unique, non-null strings. Values may be any mix of JSONObjects, JSONArrays, Strings, Booleans, Integers, Longs, Doubles or NULL. Values may not be null, NaNs, infinities, or of any type not listed here. 
This class can coerce values to another type when requested.
Number types will be coerced using doubleValue. Strings that can be coerced using valueOf(String) will be. Number types will be coerced using intValue. Strings that can be coerced using valueOf(String) will be, and then cast to int. Number types will be coerced using longValue. Strings that can be coerced using valueOf(String) will be, and then cast to long. This two-step conversion is lossy for very large values. For example, the string "9223372036854775806" yields the long 9223372036854775807. valueOf(Object). Although null cannot be coerced, the sentinel value NULL is coerced to the string "null". This class can look up both mandatory and optional values:
getType() to retrieve a mandatory value. This fails with a JSONException if the requested name has no value or if the value cannot be coerced to the requested type. optType() to retrieve an optional value. This returns a system- or user-supplied default if the requested name has no value or if the value cannot be coerced to the requested type. Warning: this class represents null in two incompatible ways: the standard Java null reference, and the sentinel value NULL. In particular, calling put(name, null) removes the named entry from the object but put(name, JSONObject.NULL) stores an entry whose value is JSONObject.NULL. 
Instances of this class are not thread safe. Although this class is nonfinal, it was not designed for inheritance and should not be subclassed. In particular, self-use by overrideable methods is not specified. See Effective Java Item 17, "Design and Document or inheritance or else prohibit it" for further information.
| Fields | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|  | NULL | A sentinel value used to explicitly define a name with no value. | |||||||||
| Public Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|  | 
           Creates a 
            JSONObjectwith no name/value mappings. | ||||||||||
|  | 
           Creates a new 
            JSONObjectby copying all name/value mappings from the given map. | ||||||||||
|  | 
           Creates a new 
            JSONObjectwith name/value mappings from the next object in the tokener. | ||||||||||
|  | 
           Creates a new 
            JSONObjectwith name/value mappings from the JSON string. | ||||||||||
|  | 
           Creates a new 
            JSONObjectby copying mappings for the listed names from the given object. | ||||||||||
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|  | 
           Appends 
            valueto the array already mapped toname. | ||||||||||
|  | 
           Returns the value mapped by 
            name. | ||||||||||
|  | 
           Returns the value mapped by 
            nameif it exists and is a boolean or can be coerced to a boolean. | ||||||||||
|  | 
           Returns the value mapped by 
            nameif it exists and is a double or can be coerced to a double. | ||||||||||
|  | 
           Returns the value mapped by 
            nameif it exists and is an int or can be coerced to an int. | ||||||||||
|  | 
           Returns the value mapped by 
            nameif it exists and is aJSONArray. | ||||||||||
|  | 
           Returns the value mapped by 
            nameif it exists and is aJSONObject. | ||||||||||
|  | 
           Returns the value mapped by 
            nameif it exists and is a long or can be coerced to a long. | ||||||||||
|  | 
           Returns the value mapped by 
            nameif it exists, coercing it if necessary. | ||||||||||
|  | 
           Returns true if this object has a mapping for 
            name. | ||||||||||
|  | 
           Returns true if this object has no mapping for 
            nameor if it has a mapping whose value isNULL. | ||||||||||
|  | 
           Returns an iterator of the 
            Stringnames in this object. | ||||||||||
|  | 
           Returns the number of name/value mappings in this object.
           | ||||||||||
|  | 
           Returns an array containing the string names in this object.
           | ||||||||||
|  | 
           Encodes the number as a JSON string.
           | ||||||||||
|  | 
           Returns the value mapped by 
            name, or null if no such mapping exists. | ||||||||||
|  | 
           Returns the value mapped by 
            nameif it exists and is a boolean or can be coerced to a boolean. | ||||||||||
|  | 
           Returns the value mapped by 
            nameif it exists and is a boolean or can be coerced to a boolean. | ||||||||||
|  | 
           Returns the value mapped by 
            nameif it exists and is a double or can be coerced to a double. | ||||||||||
|  | 
           Returns the value mapped by 
            nameif it exists and is a double or can be coerced to a double. | ||||||||||
|  | 
           Returns the value mapped by 
            nameif it exists and is an int or can be coerced to an int. | ||||||||||
|  | 
           Returns the value mapped by 
            nameif it exists and is an int or can be coerced to an int. | ||||||||||
|  | 
           Returns the value mapped by 
            nameif it exists and is aJSONArray. | ||||||||||
|  | 
           Returns the value mapped by 
            nameif it exists and is aJSONObject. | ||||||||||
|  | 
           Returns the value mapped by 
            nameif it exists and is a long or can be coerced to a long. | ||||||||||
|  | 
           Returns the value mapped by 
            nameif it exists and is a long or can be coerced to a long. | ||||||||||
|  | 
           Returns the value mapped by 
            nameif it exists, coercing it if necessary. | ||||||||||
|  | 
           Returns the value mapped by 
            nameif it exists, coercing it if necessary. | ||||||||||
|  | 
           Maps 
            nametovalue, clobbering any existing name/value mapping with the same name. | ||||||||||
|  | 
           Maps 
            nametovalue, clobbering any existing name/value mapping with the same name. | ||||||||||
|  | 
           Maps 
            nametovalue, clobbering any existing name/value mapping with the same name. | ||||||||||
|  | 
           Maps 
            nametovalue, clobbering any existing name/value mapping with the same name. | ||||||||||
|  | 
           Maps 
            nametovalue, clobbering any existing name/value mapping with the same name. | ||||||||||
|  | 
           Equivalent to 
            put(name, value)when both parameters are non-null; does nothing otherwise. | ||||||||||
|  | 
           Encodes 
            dataas a JSON string. | ||||||||||
|  | 
           Removes the named mapping if it exists; does nothing otherwise.
           | ||||||||||
|  | 
           Returns an array with the values corresponding to 
            names. | ||||||||||
|  | 
           Encodes this object as a compact JSON string, such as: 
            {"query":"Pizza","locations":[94043,90210]} | ||||||||||
|  | 
           Encodes this object as a human readable JSON string for debugging, such as: 
            
 {
     "query": "Pizza",
     "locations": [
         94043,
         90210
     ]
 } | ||||||||||
| [Expand] 
           Inherited Methods
           | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|  From class java.lang.Object | |||||||||||
A sentinel value used to explicitly define a name with no value. Unlike null, names with this value: 
names() array keys() iterator true for has(String) get(String) This value violates the general contract of equals(Object) by returning true when compared to null. Its toString() method returns "null". 
Creates a new JSONObject by copying all name/value mappings from the given map.
| copyFrom | a map whose keys are of type Stringand whose values are of supported types. | 
|---|
| NullPointerException | if any of the map's keys are null. | 
|---|
Creates a new JSONObject with name/value mappings from the next object in the tokener.
| readFrom | a tokener whose nextValue() method will yield a JSONObject. | 
|---|
| JSONException | if the parse fails or doesn't yield a JSONObject. | 
|---|
Creates a new JSONObject with name/value mappings from the JSON string.
| json | a JSON-encoded string containing an object. | 
|---|
| JSONException | if the parse fails or doesn't yield a JSONObject. | 
|---|
Creates a new JSONObject by copying mappings for the listed names from the given object. Names that aren't present in copyFrom will be skipped. 
| JSONException | 
|---|
Appends value to the array already mapped to name. If this object has no mapping for name, this inserts a new mapping. If the mapping exists but its value is not an array, the existing and new values are inserted in order into a new array which is itself mapped to name. In aggregate, this allows values to be added to a mapping one at a time.
| value | a JSONObject,JSONArray, String, Boolean, Integer, Long, Double,NULLor null. May not beNaNsorinfinities. | 
|---|
| JSONException | 
|---|
Returns the value mapped by name.
| JSONException | if no such mapping exists. | 
|---|
Returns the value mapped by name if it exists and is a boolean or can be coerced to a boolean.
| JSONException | if the mapping doesn't exist or cannot be coerced to a boolean. | 
|---|
Returns the value mapped by name if it exists and is a double or can be coerced to a double.
| JSONException | if the mapping doesn't exist or cannot be coerced to a double. | 
|---|
Returns the value mapped by name if it exists and is an int or can be coerced to an int.
| JSONException | if the mapping doesn't exist or cannot be coerced to an int. | 
|---|
Returns the value mapped by name if it exists and is a JSONArray.
| JSONException | if the mapping doesn't exist or is not a JSONArray. | 
|---|
Returns the value mapped by name if it exists and is a JSONObject.
| JSONException | if the mapping doesn't exist or is not a JSONObject. | 
|---|
Returns the value mapped by name if it exists and is a long or can be coerced to a long.
| JSONException | if the mapping doesn't exist or cannot be coerced to a long. | 
|---|
Returns the value mapped by name if it exists, coercing it if necessary.
| JSONException | if no such mapping exists. | 
|---|
Returns true if this object has a mapping for name. The mapping may be NULL. 
Returns true if this object has no mapping for name or if it has a mapping whose value is NULL. 
Returns an iterator of the String names in this object. The returned iterator supports remove, which will remove the corresponding mapping from this object. If this object is modified after the iterator is returned, the iterator's behavior is undefined. The order of the keys is undefined. 
Returns an array containing the string names in this object. This method returns null if this object contains no mappings.
Encodes the number as a JSON string.
| number | a finite value. May not be NaNsorinfinities. | 
|---|
| JSONException | 
|---|
Returns the value mapped by name, or null if no such mapping exists. 
Returns the value mapped by name if it exists and is a boolean or can be coerced to a boolean. Returns false otherwise. 
Returns the value mapped by name if it exists and is a boolean or can be coerced to a boolean. Returns fallback otherwise. 
Returns the value mapped by name if it exists and is a double or can be coerced to a double. Returns fallback otherwise. 
Returns the value mapped by name if it exists and is a double or can be coerced to a double. Returns NaN otherwise. 
Returns the value mapped by name if it exists and is an int or can be coerced to an int. Returns fallback otherwise. 
Returns the value mapped by name if it exists and is an int or can be coerced to an int. Returns 0 otherwise. 
Returns the value mapped by name if it exists and is a JSONArray. Returns null otherwise. 
Returns the value mapped by name if it exists and is a JSONObject. Returns null otherwise. 
Returns the value mapped by name if it exists and is a long or can be coerced to a long. Returns 0 otherwise. 
Returns the value mapped by name if it exists and is a long or can be coerced to a long. Returns fallback otherwise. 
Returns the value mapped by name if it exists, coercing it if necessary. Returns the empty string if no such mapping exists. 
Returns the value mapped by name if it exists, coercing it if necessary. Returns fallback if no such mapping exists. 
Maps name to value, clobbering any existing name/value mapping with the same name.
| JSONException | 
|---|
Maps name to value, clobbering any existing name/value mapping with the same name.
| JSONException | 
|---|
Maps name to value, clobbering any existing name/value mapping with the same name. If the value is null, any existing mapping for name is removed.
| value | a JSONObject,JSONArray, String, Boolean, Integer, Long, Double,NULL, ornull. May not beNaNsorinfinities. | 
|---|
| JSONException | 
|---|
Maps name to value, clobbering any existing name/value mapping with the same name.
| JSONException | 
|---|
Maps name to value, clobbering any existing name/value mapping with the same name.
| value | a finite value. May not be NaNsorinfinities. | 
|---|
| JSONException | 
|---|
Equivalent to put(name, value) when both parameters are non-null; does nothing otherwise. 
| JSONException | 
|---|
Encodes data as a JSON string. This applies quotes and any necessary character escaping.
| data | the string to encode. Null will be interpreted as an empty string. | 
|---|
Removes the named mapping if it exists; does nothing otherwise.
name, or null if there was no such mapping. Returns an array with the values corresponding to names. The array contains null for names that aren't mapped. This method returns null if names is either null or empty. 
| JSONException | 
|---|
Encodes this object as a compact JSON string, such as:
{"query":"Pizza","locations":[94043,90210]} 
        
       Encodes this object as a human readable JSON string for debugging, such as:
 {
     "query": "Pizza",
     "locations": [
         94043,
         90210
     ]
 }
        
       | indentSpaces | the number of spaces to indent for each level of nesting. | 
|---|
| JSONException | 
|---|