public class JSONObject extends Object
get{/code} and opt{/code} methods for
accessing the values by name, and put{/code} methods for adding or
replacing values by name. The values can be any of these types:
Boolean{/code}, JSONArray{/code}, JSONObject{/code},
Number{/code}, String{/code}, or the JSONObject.NULL{/code}
object. A JSONObject constructor can be used to convert an external form
JSON text into an internal form whose values can be retrieved with the
get{/code} and opt{/code} methods, or to convert values into a
JSON text using the put{/code} and toString{/code} methods.
A get{/code} method returns a value if one can be found, and throws an
exception if one cannot be found. An opt{/code} method returns a
default value instead of throwing an exception, and so is useful for
obtaining optional values.
The generic get(){/code} and opt(){/code} methods return an
object, which you can cast or query for type. There are also typed
get{/code} and opt{/code} methods that do type checking and type
coercion for you. The opt methods differ from the get methods in that they
do not throw. Instead, they return a specified value, such as null.
The put{/code} methods add or replace values in an object. For example,
myString = new JSONObject().put("JSON", "Hello, World!").toString();
produces the string {"JSON": "Hello, World"}{/code}.
The texts produced by the toString{/code} methods strictly conform to
the JSON syntax rules.
The constructors are more forgiving in the texts they will accept:
,{/code} (comma) may appear just
before the closing brace.'{/code} (single
quote).{ } [ ] / \ : , = ; #{/code} and if they do not look like numbers
and if they are not the reserved words true{/code},
false{/code}, or null{/code}.={/code} or =>{/code} as well as
by :{/code}.;{/code} (semicolon) as
well as by ,{/code} (comma).0x-{/code} (hex) prefix.| Modifier and Type | Field and Description |
|---|---|
static Object |
NULL
It is sometimes more convenient and less ambiguous to have a
NULL{/code} object than to use Java's null{/code} value. |
| Constructor and Description |
|---|
JSONObject()
Construct an empty JSONObject.
|
JSONObject(JSONObject jo,
String[] names)
Construct a JSONObject from a subset of another JSONObject.
|
JSONObject(JSONTokener x)
Construct a JSONObject from a JSONTokener.
|
JSONObject(Map map)
Construct a JSONObject from a Map.
|
JSONObject(Object bean)
Construct a JSONObject from an Object using bean getters.
|
JSONObject(Object object,
String[] names)
Construct a JSONObject from an Object, using reflection to find the
public members.
|
JSONObject(String source)
Construct a JSONObject from a source JSON text string.
|
JSONObject(String baseName,
Locale locale)
Construct a JSONObject from a ResourceBundle.
|
| Modifier and Type | Method and Description |
|---|---|
JSONObject |
append(String key,
Object value)
Append values to the array under a key.
|
Object |
get(String key)
Get the value object associated with a key.
|
boolean |
getBoolean(String key)
Get the boolean value associated with a key.
|
int |
getInt(String key)
Get the int value associated with a key.
|
JSONArray |
getJSONArray(String key)
Get the JSONArray value associated with a key.
|
JSONObject |
getJSONObject(String key)
Get the JSONObject value associated with a key.
|
long |
getLong(String key)
Get the long value associated with a key.
|
String |
getString(String key)
Get the string associated with a key.
|
boolean |
has(String key)
Determine if the JSONObject contains a specific key.
|
boolean |
isNull(String key)
Determine if the value associated with the key is null or if there is
no value.
|
Iterator |
keys()
Get an enumeration of the keys of the JSONObject.
|
int |
length()
Get the number of keys stored in the JSONObject.
|
JSONArray |
names()
Produce a JSONArray containing the names of the elements of this
JSONObject.
|
static String |
numberToString(Number number)
Produce a string from a Number.
|
Object |
opt(String key)
Get an optional value associated with a key.
|
JSONObject |
put(String key,
boolean value)
Put a key/boolean pair in the JSONObject.
|
JSONObject |
put(String key,
Collection value)
Put a key/value pair in the JSONObject, where the value will be a
JSONArray which is produced from a Collection.
|
JSONObject |
put(String key,
double value)
Put a key/double pair in the JSONObject.
|
JSONObject |
put(String key,
int value)
Put a key/int pair in the JSONObject.
|
JSONObject |
put(String key,
long value)
Put a key/long pair in the JSONObject.
|
JSONObject |
put(String key,
Map value)
Put a key/value pair in the JSONObject, where the value will be a
JSONObject which is produced from a Map.
|
JSONObject |
put(String key,
Object value)
Put a key/value pair in the JSONObject.
|
JSONObject |
putOnce(String key,
Object value)
Put a key/value pair in the JSONObject, but only if the key and the
value are both non-null, and only if there is not already a member
with that name.
|
JSONObject |
putOpt(String key,
Object value)
Put a key/value pair in the JSONObject, but only if the
key and the value are both non-null.
|
static String |
quote(String string)
Produce a string in double quotes with backslash sequences in all the
right places.
|
Object |
remove(String key)
Remove a name and its value, if present.
|
Iterator |
sortedKeys()
Get an enumeration of the keys of the JSONObject.
|
static Object |
stringToValue(String string)
Try to convert a string into a number, boolean, or null.
|
static void |
testValidity(Object o)
Throw an exception if the object is a NaN or infinite number.
|
String |
toString()
Make a JSON text of this JSONObject.
|
String |
toString(int indentFactor)
Make a prettyprinted JSON text of this JSONObject.
|
static String |
valueToString(Object value)
Make a JSON text of an Object value.
|
static Object |
wrap(Object object)
Wrap an object, if necessary.
|
Writer |
write(Writer writer)
Write the contents of the JSONObject as JSON text to a writer.
|
public static final Object NULL
NULL{/code} object than to use Java's null{/code} value.
JSONObject.NULL.equals(null){/code} returns true{/code}.
JSONObject.NULL.toString(){/code} returns "null"{/code}.public JSONObject()
public JSONObject(JSONObject jo, String[] names)
jo - A JSONObject.names - An array of strings.public JSONObject(JSONTokener x) throws JSONException
x - A JSONTokener object containing the source string.JSONException - If there is a syntax error in the source string
or a duplicated key.public JSONObject(Map map)
map - A map object that can be used to initialize the contents of
the JSONObject.public JSONObject(Object bean)
"get"{/code} or "is"{/code} followed by an uppercase letter,
the method is invoked, and a key and the value returned from the getter method
are put into the new JSONObject.
The key is formed by removing the "get"{/code} or "is"{/code} prefix.
If the second remaining character is not upper case, then the first
character is converted to lower case.
For example, if an object has a method named "getName"{/code}, and
if the result of calling object.getName(){/code} is "Larry Fine"{/code},
then the JSONObject will contain "name": "Larry Fine"{/code}.bean - An object that has getter methods that should be used
to make a JSONObject.public JSONObject(Object object, String[] names)
object - An object that has fields that should be used to make a
JSONObject.names - An array of strings, the names of the fields to be obtained
from the object.public JSONObject(String source) throws JSONException
source - A string beginning
with {{/code} (left brace) and ending
with }{/code} (right brace).JSONException - If there is a syntax error in the source
string or a duplicated key.public JSONObject(String baseName, Locale locale) throws JSONException
baseName - The ResourceBundle base name.locale - The Locale to load the ResourceBundle for.JSONException - If any JSONExceptions are detected.public JSONObject append(String key, Object value) throws JSONException
key - A key string.value - An object to be accumulated under the key.JSONException - If the key is null or if the current value
associated with the key is not a JSONArray.public Object get(String key) throws JSONException
key - A key string.JSONException - if the key is not found.public boolean getBoolean(String key) throws JSONException
key - A key string.JSONException - if the value is not a Boolean or the String "true" or "false".public int getInt(String key) throws JSONException
key - A key string.JSONException - if the key is not found or if the value cannot
be converted to an integer.public JSONArray getJSONArray(String key) throws JSONException
key - A key string.JSONException - if the key is not found or
if the value is not a JSONArray.public JSONObject getJSONObject(String key) throws JSONException
key - A key string.JSONException - if the key is not found or
if the value is not a JSONObject.public long getLong(String key) throws JSONException
key - A key string.JSONException - if the key is not found or if the value cannot
be converted to a long.public String getString(String key) throws JSONException
key - A key string.JSONException - if the key is not found.public boolean has(String key)
key - A key string.public boolean isNull(String key)
key - A key string.public Iterator keys()
public int length()
public JSONArray names()
public static String numberToString(Number number) throws JSONException
number - A NumberJSONException - If n is a non-finite number.public Object opt(String key)
key - A key string.public JSONObject put(String key, boolean value) throws JSONException
key - A key string.value - A boolean which is the value.JSONException - If the key is null.public JSONObject put(String key, Collection value) throws JSONException
key - A key string.value - A Collection value.JSONExceptionpublic JSONObject put(String key, double value) throws JSONException
key - A key string.value - A double which is the value.JSONException - If the key is null or if the number is invalid.public JSONObject put(String key, int value) throws JSONException
key - A key string.value - An int which is the value.JSONException - If the key is null.public JSONObject put(String key, long value) throws JSONException
key - A key string.value - A long which is the value.JSONException - If the key is null.public JSONObject put(String key, Map value) throws JSONException
key - A key string.value - A Map value.JSONExceptionpublic JSONObject put(String key, Object value) throws JSONException
key - A key string.value - An object which is the value. It should be of one of these
types: Boolean, Double, Integer, JSONArray, JSONObject, Long, String,
or the JSONObject.NULL object.JSONException - If the value is non-finite number
or if the key is null.public JSONObject putOnce(String key, Object value) throws JSONException
key - key to be putvalue - value to be putJSONException - if the key is a duplicatepublic JSONObject putOpt(String key, Object value) throws JSONException
key - A key string.value - An object which is the value. It should be of one of these
types: Boolean, Double, Integer, JSONArray, JSONObject, Long, String,
or the JSONObject.NULL object.JSONException - If the value is a non-finite number.public static String quote(String string)
string - A Stringpublic Object remove(String key)
key - The name to be removed.public Iterator sortedKeys()
public static Object stringToValue(String string)
string - A String.public static void testValidity(Object o) throws JSONException
o - The object to test.JSONException - If o is a non-finite number.public String toString()
public String toString(int indentFactor) throws JSONException
indentFactor - The number of spaces to add to each level of
indentation.{{/code} (left brace) and ending
with }{/code} (right brace).JSONException - If the object contains an invalid number.public static String valueToString(Object value) throws JSONException
value - The value to be serialized.{{/code} (left brace) and ending
with }{/code} (right brace).JSONException - If the value is or contains an invalid number.public static Object wrap(Object object)
object - The object to wrappublic Writer write(Writer writer) throws JSONException
JSONExceptionCopyright © 2015. All Rights Reserved.