public class JsonCodec extends Object
Supported types are
String
Boolean
and boolean
Integer
and int
Double
and double
(NaN
and infinity not
supported)
JsonValue
and all its sub types
Element
(encoded as a reference to the element)
Component
(encoded as a reference to the root element)
For internal use only. May be renamed or removed in a future release.
Modifier and Type | Field and Description |
---|---|
static int |
ARRAY_TYPE
Type id for a complex type array containing a
JsonArray . |
static int |
NODE_TYPE
Type id for a complex type array containing an
Element . |
static int |
RETURN_CHANNEL_TYPE
Type id for a complex type array identifying a
ReturnChannelRegistration reference. |
Modifier and Type | Method and Description |
---|---|
static boolean |
canEncodeWithoutTypeInfo(Class<?> type)
Helper for checking whether the type is supported by
encodeWithoutTypeInfo(Object) . |
static boolean |
canEncodeWithTypeInfo(Class<?> type)
Helper for checking whether the type is supported by
encodeWithTypeInfo(Object) . |
static <T> T |
decodeAs(elemental.json.JsonValue json,
Class<T> type)
Decodes the given JSON value as the given type.
|
static Serializable |
decodeWithoutTypeInfo(elemental.json.JsonValue json)
Helper for decoding any "primitive" value that is directly supported in
JSON.
|
static elemental.json.JsonValue |
encodeWithConstantPool(Object value,
ConstantPool constantPool)
Encodes a "primitive" value or a constant pool reference to JSON.
|
static elemental.json.JsonValue |
encodeWithoutTypeInfo(Object value)
Helper for encoding any "primitive" value that is directly supported in
JSON.
|
static elemental.json.JsonValue |
encodeWithTypeInfo(Object value)
Helper for encoding values that might not have a native representation in
JSON.
|
public static final int NODE_TYPE
Element
.public static final int ARRAY_TYPE
JsonArray
.public static final int RETURN_CHANNEL_TYPE
ReturnChannelRegistration
reference.public static elemental.json.JsonValue encodeWithTypeInfo(Object value)
encodeWithoutTypeInfo(Object)
, Element
and
Component
(encoded as its root element).value
- the value to encodepublic static boolean canEncodeWithoutTypeInfo(Class<?> type)
encodeWithoutTypeInfo(Object)
. Supported value types are
String
, Integer
, Double
, Boolean
,
JsonValue
.type
- the type to checkpublic static boolean canEncodeWithTypeInfo(Class<?> type)
encodeWithTypeInfo(Object)
. Supported values types are
Node
, Component
, ReturnChannelRegistration
and
anything accepted by canEncodeWithoutTypeInfo(Class)
.type
- the type to checkpublic static elemental.json.JsonValue encodeWithConstantPool(Object value, ConstantPool constantPool)
ConstantPoolKey
in addition to the types
supported by encodeWithoutTypeInfo(Object)
.value
- the value to encodeconstantPool
- the constant pool to use for encoding constant pool referencespublic static elemental.json.JsonValue encodeWithoutTypeInfo(Object value)
String
, Number
,
Boolean
, JsonValue
. null
is also supported.value
- the value to encodepublic static Serializable decodeWithoutTypeInfo(elemental.json.JsonValue json)
String
, Number
,
Boolean
, JsonValue
. null
is also supported.json
- the JSON value to decodepublic static <T> T decodeAs(elemental.json.JsonValue json, Class<T> type)
Supported types are String
, Boolean
, Integer
,
Double
and primitives boolean, int, double
T
- the decoded typejson
- the JSON valuetype
- the type to decode asIllegalArgumentException
- if the type was unsupportedCopyright © 2025. All rights reserved.