public class JSONObject extends Object
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:
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) |
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) |
public static final Object NULL
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)
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
JSONException
public 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.JSONException
- when failed to put valuepublic 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()
Warning: This method assumes that the data structure is acyclical.
public String toString(int indentFactor) throws JSONException
Warning: This method assumes that the data structure is acyclical.
indentFactor
- The number of spaces to add to each level of
indentation.JSONException
- If the object contains an invalid number.public static String valueToString(Object value) throws JSONException
Warning: This method assumes that the data structure is acyclical.
value
- The value to be serialized.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
JSONException
Copyright © 2016. All rights reserved.