public class JsonObject extends JsonValue implements Iterable<JsonObject.Member>
| Modifier and Type | Class and Description |
|---|---|
(package private) static class |
JsonObject.HashIndexTable |
static class |
JsonObject.Member
Represents a member of a JSON object, a pair of a name and a value.
|
| Modifier and Type | Field and Description |
|---|---|
private List<String> |
names |
private JsonObject.HashIndexTable |
table |
private List<JsonValue> |
values |
TRANSFORM_LINE_LENGTH| Modifier | Constructor and Description |
|---|---|
|
JsonObject()
Creates a new empty JsonObject.
|
|
JsonObject(JsonObject object)
Creates a new JsonObject, initialized with the contents of the specified JSON object.
|
private |
JsonObject(JsonObject object,
boolean unmodifiable) |
| Modifier and Type | Method and Description |
|---|---|
JsonObject |
add(String name,
boolean value)
Appends a new member to the end of this object, with the specified name and the JSON
representation of the specified
boolean value. |
JsonObject |
add(String name,
double value)
Appends a new member to the end of this object, with the specified name and the JSON
representation of the specified
double value. |
JsonObject |
add(String name,
float value)
Appends a new member to the end of this object, with the specified name and the JSON
representation of the specified
float value. |
JsonObject |
add(String name,
int value)
Appends a new member to the end of this object, with the specified name and the JSON
representation of the specified
int value. |
JsonObject |
add(String name,
JsonValue value)
Appends a new member to the end of this object, with the specified name and the specified JSON
value.
|
JsonObject |
add(String name,
long value)
Appends a new member to the end of this object, with the specified name and the JSON
representation of the specified
long value. |
JsonObject |
add(String name,
String value)
Appends a new member to the end of this object, with the specified name and the JSON
representation of the specified string.
|
JsonObject |
asObject()
Returns this JSON value as
JsonObject, assuming that this value represents a JSON
object. |
boolean |
equals(Object obj)
Indicates whether some other object is "equal to" this one according to the contract specified
in
Object.equals(Object). |
JsonValue |
get(String name)
Returns the value of the member with the specified name in this object.
|
boolean |
getBoolean(String name,
boolean defaultValue)
Returns the
boolean value of the member with the specified name in this object. |
double |
getDouble(String name,
double defaultValue)
Returns the
double value of the member with the specified name in this object. |
float |
getFloat(String name,
float defaultValue)
Returns the
float value of the member with the specified name in this object. |
int |
getInt(String name,
int defaultValue)
Returns the
int value of the member with the specified name in this object. |
long |
getLong(String name,
long defaultValue)
Returns the
long value of the member with the specified name in this object. |
String |
getString(String name,
String defaultValue)
Returns the
String value of the member with the specified name in this object. |
int |
hashCode() |
(package private) int |
indexOf(String name) |
boolean |
isEmpty()
Returns
true if this object contains no members. |
boolean |
isObject()
Detects whether this value represents a JSON object.
|
Iterator<JsonObject.Member> |
iterator()
Returns an iterator over the members of this object in document order.
|
JsonObject |
merge(JsonObject object)
Copies all members of the specified object into this object.
|
List<String> |
names()
Returns a list of the names in this object in document order.
|
private void |
readObject(ObjectInputStream inputStream) |
JsonObject |
remove(String name)
Removes a member with the specified name from this object.
|
JsonObject |
set(String name,
boolean value)
Sets the value of the member with the specified name to the JSON representation of the
specified
boolean value. |
JsonObject |
set(String name,
double value)
Sets the value of the member with the specified name to the JSON representation of the
specified
double value. |
JsonObject |
set(String name,
float value)
Sets the value of the member with the specified name to the JSON representation of the
specified
float value. |
JsonObject |
set(String name,
int value)
Sets the value of the member with the specified name to the JSON representation of the
specified
int value. |
JsonObject |
set(String name,
JsonValue value)
Sets the value of the member with the specified name to the specified JSON value.
|
JsonObject |
set(String name,
long value)
Sets the value of the member with the specified name to the JSON representation of the
specified
long value. |
JsonObject |
set(String name,
String value)
Sets the value of the member with the specified name to the JSON representation of the
specified string.
|
int |
size()
Returns the number of members (name/value pairs) in this object.
|
static JsonObject |
unmodifiableObject(JsonObject object)
Returns an unmodifiable JsonObject for the specified one.
|
private void |
updateHashIndex() |
(package private) void |
write(JsonWriter writer) |
asArray, asBoolean, asDouble, asFloat, asInt, asLong, asString, isArray, isBoolean, isFalse, isNull, isNumber, isString, isTrue, toString, toString, writeTo, writeToclone, finalize, getClass, notify, notifyAll, wait, wait, waitforEach, spliteratorprivate transient JsonObject.HashIndexTable table
public JsonObject()
public JsonObject(JsonObject object)
object - the JSON object to get the initial contents from, must not be nullprivate JsonObject(JsonObject object, boolean unmodifiable)
public static JsonObject unmodifiableObject(JsonObject object)
The returned JsonObject is backed by the given object and reflect changes that happen to it.
Attempts to modify the returned JsonObject result in an
UnsupportedOperationException.
object - the JsonObject for which an unmodifiable JsonObject is to be returnedpublic JsonObject add(String name, int value)
int value.
This method does not prevent duplicate names. Calling this method with a name
that already exists in the object will append another member with the same name. In order to
replace existing members, use the method set(name, value) instead. However,
add is much faster than set (because it does not need to
search for existing members). Therefore add should be preferred when constructing new
objects.
name - the name of the member to addvalue - the value of the member to addpublic JsonObject add(String name, long value)
long value.
This method does not prevent duplicate names. Calling this method with a name
that already exists in the object will append another member with the same name. In order to
replace existing members, use the method set(name, value) instead. However,
add is much faster than set (because it does not need to
search for existing members). Therefore add should be preferred when constructing new
objects.
name - the name of the member to addvalue - the value of the member to addpublic JsonObject add(String name, float value)
float value.
This method does not prevent duplicate names. Calling this method with a name
that already exists in the object will append another member with the same name. In order to
replace existing members, use the method set(name, value) instead. However,
add is much faster than set (because it does not need to
search for existing members). Therefore add should be preferred when constructing new
objects.
name - the name of the member to addvalue - the value of the member to addpublic JsonObject add(String name, double value)
double value.
This method does not prevent duplicate names. Calling this method with a name
that already exists in the object will append another member with the same name. In order to
replace existing members, use the method set(name, value) instead. However,
add is much faster than set (because it does not need to
search for existing members). Therefore add should be preferred when constructing new
objects.
name - the name of the member to addvalue - the value of the member to addpublic JsonObject add(String name, boolean value)
boolean value.
This method does not prevent duplicate names. Calling this method with a name
that already exists in the object will append another member with the same name. In order to
replace existing members, use the method set(name, value) instead. However,
add is much faster than set (because it does not need to
search for existing members). Therefore add should be preferred when constructing new
objects.
name - the name of the member to addvalue - the value of the member to addpublic JsonObject add(String name, String value)
This method does not prevent duplicate names. Calling this method with a name
that already exists in the object will append another member with the same name. In order to
replace existing members, use the method set(name, value) instead. However,
add is much faster than set (because it does not need to
search for existing members). Therefore add should be preferred when constructing new
objects.
name - the name of the member to addvalue - the value of the member to addpublic JsonObject add(String name, JsonValue value)
This method does not prevent duplicate names. Calling this method with a name
that already exists in the object will append another member with the same name. In order to
replace existing members, use the method set(name, value) instead. However,
add is much faster than set (because it does not need to
search for existing members). Therefore add should be preferred when constructing new
objects.
name - the name of the member to addvalue - the value of the member to add, must not be nullpublic JsonObject set(String name, int value)
int value. If this object does not contain a member with this name, a
new member is added at the end of the object. If this object contains multiple members with
this name, only the last one is changed.
This method should only be used to modify existing objects. To fill a new
object with members, the method add(name, value) should be preferred which is much
faster (as it does not need to search for existing members).
name - the name of the member to replacevalue - the value to set to the memberpublic JsonObject set(String name, long value)
long value. If this object does not contain a member with this name, a
new member is added at the end of the object. If this object contains multiple members with
this name, only the last one is changed.
This method should only be used to modify existing objects. To fill a new
object with members, the method add(name, value) should be preferred which is much
faster (as it does not need to search for existing members).
name - the name of the member to replacevalue - the value to set to the memberpublic JsonObject set(String name, float value)
float value. If this object does not contain a member with this name, a
new member is added at the end of the object. If this object contains multiple members with
this name, only the last one is changed.
This method should only be used to modify existing objects. To fill a new
object with members, the method add(name, value) should be preferred which is much
faster (as it does not need to search for existing members).
name - the name of the member to addvalue - the value of the member to addpublic JsonObject set(String name, double value)
double value. If this object does not contain a member with this name, a
new member is added at the end of the object. If this object contains multiple members with
this name, only the last one is changed.
This method should only be used to modify existing objects. To fill a new
object with members, the method add(name, value) should be preferred which is much
faster (as it does not need to search for existing members).
name - the name of the member to addvalue - the value of the member to addpublic JsonObject set(String name, boolean value)
boolean value. If this object does not contain a member with this name,
a new member is added at the end of the object. If this object contains multiple members with
this name, only the last one is changed.
This method should only be used to modify existing objects. To fill a new
object with members, the method add(name, value) should be preferred which is much
faster (as it does not need to search for existing members).
name - the name of the member to addvalue - the value of the member to addpublic JsonObject set(String name, String value)
This method should only be used to modify existing objects. To fill a new
object with members, the method add(name, value) should be preferred which is much
faster (as it does not need to search for existing members).
name - the name of the member to addvalue - the value of the member to addpublic JsonObject set(String name, JsonValue value)
This method should only be used to modify existing objects. To fill a new
object with members, the method add(name, value) should be preferred which is much
faster (as it does not need to search for existing members).
name - the name of the member to addvalue - the value of the member to add, must not be nullpublic JsonObject remove(String name)
name - the name of the member to removepublic JsonObject merge(JsonObject object)
object - the object to mergepublic JsonValue get(String name)
name - the name of the member whose value is to be returnednull if this
object does not contain a member with that namepublic int getInt(String name, int defaultValue)
int value of the member with the specified name in this object. If
this object does not contain a member with this name, the given default value is returned. If
this object contains multiple members with the given name, the last one will be picked. If this
member's value does not represent a JSON number or if it cannot be interpreted as Java
int, an exception is thrown.name - the name of the member whose value is to be returneddefaultValue - the value to be returned if the requested member is missingpublic long getLong(String name, long defaultValue)
long value of the member with the specified name in this object. If
this object does not contain a member with this name, the given default value is returned. If
this object contains multiple members with the given name, the last one will be picked. If this
member's value does not represent a JSON number or if it cannot be interpreted as Java
long, an exception is thrown.name - the name of the member whose value is to be returneddefaultValue - the value to be returned if the requested member is missingpublic float getFloat(String name, float defaultValue)
float value of the member with the specified name in this object. If
this object does not contain a member with this name, the given default value is returned. If
this object contains multiple members with the given name, the last one will be picked. If this
member's value does not represent a JSON number or if it cannot be interpreted as Java
float, an exception is thrown.name - the name of the member whose value is to be returneddefaultValue - the value to be returned if the requested member is missingpublic double getDouble(String name, double defaultValue)
double value of the member with the specified name in this object. If
this object does not contain a member with this name, the given default value is returned. If
this object contains multiple members with the given name, the last one will be picked. If this
member's value does not represent a JSON number or if it cannot be interpreted as Java
double, an exception is thrown.name - the name of the member whose value is to be returneddefaultValue - the value to be returned if the requested member is missingpublic boolean getBoolean(String name, boolean defaultValue)
boolean value of the member with the specified name in this object. If
this object does not contain a member with this name, the given default value is returned. If
this object contains multiple members with the given name, the last one will be picked. If this
member's value does not represent a JSON true or false value, an
exception is thrown.name - the name of the member whose value is to be returneddefaultValue - the value to be returned if the requested member is missingpublic String getString(String name, String defaultValue)
String value of the member with the specified name in this object. If
this object does not contain a member with this name, the given default value is returned. If
this object contains multiple members with the given name, the last one is picked. If this
member's value does not represent a JSON string, an exception is thrown.name - the name of the member whose value is to be returneddefaultValue - the value to be returned if the requested member is missingpublic int size()
public boolean isEmpty()
true if this object contains no members.true if this object contains no memberspublic List<String> names()
public Iterator<JsonObject.Member> iterator()
iterator in interface Iterable<JsonObject.Member>void write(JsonWriter writer) throws IOException
write in class JsonValueIOExceptionpublic boolean isObject()
JsonValueJsonObject.public JsonObject asObject()
JsonValueJsonObject, assuming that this value represents a JSON
object. If this is not the case, an exception is thrown.public boolean equals(Object obj)
JsonValueObject.equals(Object).
Two JsonValues are considered equal if and only if they represent the same JSON text. As a consequence, two given JsonObjects may be different even though they contain the same set of names with the same values, but in a different order.
int indexOf(String name)
private void readObject(ObjectInputStream inputStream) throws IOException, ClassNotFoundException
IOExceptionClassNotFoundExceptionprivate void updateHashIndex()
Copyright © 2011–2016 David R. Smith. All rights reserved.