public class JsonObject extends JsonValue implements Serializable
NullPointerExceptions.
The JsonObject is backed by a Map and is intended to work similar to it API wise, but to only
allow to store such objects which can be represented by JSON.| Modifier and Type | Method and Description |
|---|---|
boolean |
containsKey(String name)
Checks if the
JsonObject contains the field name. |
boolean |
containsValue(Object value)
Checks if the
JsonObject contains the value. |
static JsonObject |
create()
Creates a empty
JsonObject. |
static JsonObject |
create(int initialCapacity)
Creates a empty
JsonObject. |
JsonObjectCrypto |
crypto(ClusterEnvironment env)
Returns a view of the object for reading and writing encrypted fields.
|
JsonObjectCrypto |
crypto(Collection collection)
Returns a view of the object for reading and writing encrypted fields.
|
JsonObjectCrypto |
crypto(CryptoManager cryptoManager)
Returns a view of the object for reading and writing encrypted fields.
|
boolean |
equals(Object o) |
static JsonObject |
from(Map<String,?> mapData)
Constructs a
JsonObject from a Map<String, ?>. |
static JsonObject |
fromJson(byte[] s) |
static JsonObject |
fromJson(String s)
Static method to create a
JsonObject from a JSON String. |
Object |
get(String name)
Retrieves the (potential null) content and not casting its type.
|
JsonArray |
getArray(String name)
Retrieves the value from the field name and casts it to
JsonArray. |
BigDecimal |
getBigDecimal(String name)
Retrieves the value from the field name and casts it to
BigDecimal. |
BigInteger |
getBigInteger(String name)
Retrieves the value from the field name and casts it to
BigInteger. |
Boolean |
getBoolean(String name)
Retrieves the value from the field name and casts it to
Boolean. |
Double |
getDouble(String name)
Retrieves the value from the field name and casts it to
Double. |
Integer |
getInt(String name)
Retrieves the value from the field name and casts it to
Integer. |
Long |
getLong(String name)
Retrieves the value from the field name and casts it to
Long. |
Set<String> |
getNames()
Returns a set of field names on the
JsonObject. |
Number |
getNumber(String name)
Retrieves the value from the field name and casts it to
Number. |
JsonObject |
getObject(String name)
Retrieves the value from the field name and casts it to
JsonObject. |
String |
getString(String name)
Retrieves the value from the field name and casts it to
String. |
int |
hashCode() |
boolean |
isEmpty()
Returns true if the
JsonObject is empty, false otherwise. |
JsonObject |
put(String name,
boolean value)
Stores a
Boolean value identified by the field name. |
JsonObject |
put(String name,
double value)
Stores a
Double value identified by the field name. |
JsonObject |
put(String name,
int value)
Stores a
Integer value identified by the field name. |
JsonObject |
put(String name,
JsonArray value)
Stores a
JsonArray value identified by the field name. |
JsonObject |
put(String name,
JsonObject value)
Stores a
JsonObject value identified by the field name. |
JsonObject |
put(String name,
List<?> value)
Stores a
JsonArray value identified by the field name. |
JsonObject |
put(String name,
long value)
Stores a
Long value identified by the field name. |
JsonObject |
put(String name,
Map<String,?> value)
Attempt to convert a
Map to a JsonObject value and store it, identified by the field name. |
JsonObject |
put(String name,
Number value)
Stores a
Number value identified by the field name. |
JsonObject |
put(String name,
Object value)
Stores a
Object value identified by the field name. |
JsonObject |
put(String name,
String value)
Stores a
String value identified by the field name. |
JsonObject |
putNull(String name)
Store a null value identified by the field's name.
|
JsonObject |
removeKey(String name)
Removes an entry from the
JsonObject. |
int |
size()
The size of the
JsonObject. |
byte[] |
toBytes()
Similar to
toString() but turns this object directly into an encoded byte array. |
Map<String,Object> |
toMap()
Transforms the
JsonObject into a Map. |
String |
toString()
Converts the
JsonObject into its JSON string representation. |
public static JsonObject create()
JsonObject.JsonObject.public static JsonObject create(int initialCapacity)
JsonObject.initialCapacity - the initial capacity for the object.JsonObject.public static JsonObject from(Map<String,?> mapData)
JsonObject from a Map<String, ?>.
This is only possible if the given Map is well formed, that is it contains non null
keys, and all values are of a supported type.
A null input Map or null key will lead to a NullPointerException being thrown.
If any unsupported value is present in the Map, an InvalidArgumentException
will be thrown.
*Sub Maps and Lists*
If possible, Maps and Lists contained in mapData will be converted to JsonObject and
JsonArray respectively. However, same restrictions apply. Any non-convertible collection
will raise a ClassCastException. If the sub-conversion raises an exception (like an
InvalidArgumentException) then it is put as cause for the ClassCastException.mapData - the Map to convert to a JsonObjectInvalidArgumentException - in case one or more unsupported values are presentNullPointerException - in case a null map is provided or if it contains a null keyClassCastException - if map contains a sub-Map or sub-List not supported (see above)public static JsonObject fromJson(String s)
JsonObject from a JSON String.
The string is expected to be a valid JSON object representation (eg. starting with a '{').s - the JSON String to convert to a JsonObject.JsonObject.InvalidArgumentException - if the conversion cannot be done.public static JsonObject fromJson(byte[] s)
@Stability.Volatile public JsonObjectCrypto crypto(CryptoManager cryptoManager)
The returned JsonObjectCrypto uses the default encrypter.
To use a different encrypter, chain this call with JsonObjectCrypto.withEncrypter(String).
Note: Use of the Field-Level Encryption functionality is subject to the Couchbase Inc. Enterprise Subscription License Agreement v7
cryptoManager - the manager to use for encryption and decryption@Stability.Volatile public JsonObjectCrypto crypto(Collection collection)
The returned JsonObjectCrypto uses the default encrypter.
To use a different encrypter, chain this call with JsonObjectCrypto.withEncrypter(String).
Note: Use of the Field-Level Encryption functionality is subject to the Couchbase Inc. Enterprise Subscription License Agreement v7
IllegalStateException - if no CryptoManager was configured for the collection's cluster environment@Stability.Volatile public JsonObjectCrypto crypto(ClusterEnvironment env)
The returned JsonObjectCrypto uses the default encrypter.
To use a different encrypter, chain this call with JsonObjectCrypto.withEncrypter(String).
Note: Use of the Field-Level Encryption functionality is subject to the Couchbase Inc. Enterprise Subscription License Agreement v7
IllegalStateException - if no CryptoManager was configured for this cluster environmentpublic JsonObject put(String name, Object value)
Object value identified by the field name.
Note that the value is checked and a InvalidArgumentException is thrown if not supported.name - the name of the JSON field.value - the value of the JSON field.JsonObject.public Object get(String name)
name - the key of the field.public JsonObject put(String name, String value)
String value identified by the field name.name - the name of the JSON field.value - the value of the JSON field.JsonObject.public String getString(String name)
String.name - the name of the field.public JsonObject put(String name, int value)
Integer value identified by the field name.name - the name of the JSON field.value - the value of the JSON field.JsonObject.public Integer getInt(String name)
Integer.
Note that if value was stored as another numerical type, some truncation or rounding may occur.name - the name of the field.public JsonObject put(String name, long value)
Long value identified by the field name.name - the name of the JSON field.value - the value of the JSON field.JsonObject.public Long getLong(String name)
Long.
Note that if value was stored as another numerical type, some truncation or rounding may occur.name - the name of the field.public JsonObject put(String name, double value)
Double value identified by the field name.name - the name of the JSON field.value - the value of the JSON field.JsonObject.public Double getDouble(String name)
Double.
Note that if value was stored as another numerical type, some truncation or rounding may occur.name - the name of the field.public JsonObject put(String name, boolean value)
Boolean value identified by the field name.name - the name of the JSON field.value - the value of the JSON field.JsonObject.public Boolean getBoolean(String name)
Boolean.name - the name of the field.public JsonObject put(String name, JsonObject value)
JsonObject value identified by the field name.name - the name of the JSON field.value - the value of the JSON field.JsonObject.public JsonObject put(String name, Map<String,?> value)
Map to a JsonObject value and store it, identified by the field name.name - the name of the JSON field.value - the value of the JSON field.JsonObject.from(Map)public JsonObject getObject(String name)
JsonObject.name - the name of the field.public JsonObject put(String name, JsonArray value)
JsonArray value identified by the field name.name - the name of the JSON field.value - the value of the JSON field.JsonObject.public JsonObject put(String name, Number value)
Number value identified by the field name.name - the name of the JSON field.value - the value of the JSON field.JsonObject.public JsonObject put(String name, List<?> value)
JsonArray value identified by the field name.name - the name of the JSON field.value - the value of the JSON field.JsonObject.public JsonArray getArray(String name)
JsonArray.name - the name of the field.public BigInteger getBigInteger(String name)
BigInteger.name - the name of the field.public BigDecimal getBigDecimal(String name)
BigDecimal.name - the name of the field.public Number getNumber(String name)
Number.name - the name of the field.public JsonObject putNull(String name)
put(String, Object) with either
JsonValue.NULL or a null value explicitly cast to Object.name - The null field's name.JsonObjectpublic JsonObject removeKey(String name)
JsonObject.name - the name of the field to removeJsonObjectpublic Set<String> getNames()
JsonObject.public boolean isEmpty()
JsonObject is empty, false otherwise.public Map<String,Object> toMap()
JsonObject into a Map. The resulting
map is not backed by this JsonObject, and all sub-objects or
sub-arrays (JsonArray) are also recursively converted to
maps and lists, respectively.Map.public boolean containsKey(String name)
JsonObject contains the field name.name - the name of the field.public boolean containsValue(Object value)
JsonObject contains the value.value - the actual value.public int size()
JsonObject.public String toString()
JsonObject into its JSON string representation.toString in class ObjectJsonObject.public byte[] toBytes()
toString() but turns this object directly into an encoded byte array.JsonObject.Copyright © 2020 Couchbase, Inc.. All rights reserved.