public class PJsonSerializer extends PSerializer
{
"id":value,
"structId":{ ... },
"listId":[value1,value2],
"mapId":{"id1":value1,"id2":value2}
}
But without formatting spaces. The formatted JSON can be read normally.
Binary fields are base64 encoded.
This format supports 'compact' struct formatting. A compact struct is
formatted as a list with fields in order from 1 to N. E.g.:
["tag",5,6.45]is equivalent to:
{"1":"tag","2":5,"3":6.45}
| Modifier and Type | Class and Description |
|---|---|
static class |
PJsonSerializer.IdType |
| Modifier and Type | Field and Description |
|---|---|
static byte[] |
ENTRY_SEP |
static byte[] |
STREAM_INITIATOR |
DEFAULT_ENTRY_SEP, DEFAULT_STREAM_INITIATOR, DEFAULT_STREAM_TERMINATOR| Constructor and Description |
|---|
PJsonSerializer() |
PJsonSerializer(boolean strict) |
PJsonSerializer(boolean readStrict,
PJsonSerializer.IdType idType) |
PJsonSerializer(boolean readStrict,
PJsonSerializer.IdType idType,
PJsonSerializer.IdType enumType,
boolean pretty) |
PJsonSerializer(PJsonSerializer.IdType idType) |
PJsonSerializer(PJsonSerializer.IdType idType,
PJsonSerializer.IdType enumType) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
appendMessage(net.morimekta.util.json.JsonWriter writer,
PMessage<?> message) |
protected void |
appendPrimitive(net.morimekta.util.json.JsonWriter writer,
Object primitive)
Append a primitive value to json struct.
|
protected void |
appendPrimitiveKey(net.morimekta.util.json.JsonWriter writer,
Object primitive) |
protected void |
appendTypedValue(net.morimekta.util.json.JsonWriter writer,
PDescriptor type,
Object value) |
<T> T |
deserialize(InputStream input,
PDescriptor<T> type) |
protected <T extends PMessage<T>> |
parseCompactMessage(net.morimekta.util.json.JsonTokenizer tokenizer,
PStructDescriptor<T,?> type)
Parse JSON object as a message.
|
protected Object |
parseMapKey(String key,
PDescriptor keyType) |
protected <T extends PMessage<T>> |
parseMessage(net.morimekta.util.json.JsonTokenizer tokenizer,
PStructDescriptor<T,?> type)
Parse JSON object as a message.
|
protected <T> T |
parseTypedValue(net.morimekta.util.json.JsonToken token,
net.morimekta.util.json.JsonTokenizer tokenizer,
PDescriptor<T> t) |
<T> int |
serialize(OutputStream output,
PDescriptor<T> descriptor,
T value) |
int |
serialize(OutputStream output,
PMessage<?> message) |
byte[] |
streamInitiator() |
cast, entrySeparator, streamInitiatorPartOfData, streamTerminatorpublic static final byte[] STREAM_INITIATOR
public static final byte[] ENTRY_SEP
public PJsonSerializer()
public PJsonSerializer(boolean strict)
public PJsonSerializer(PJsonSerializer.IdType idType)
public PJsonSerializer(boolean readStrict,
PJsonSerializer.IdType idType)
public PJsonSerializer(PJsonSerializer.IdType idType, PJsonSerializer.IdType enumType)
public PJsonSerializer(boolean readStrict,
PJsonSerializer.IdType idType,
PJsonSerializer.IdType enumType,
boolean pretty)
public byte[] streamInitiator()
streamInitiator in class PSerializerpublic int serialize(OutputStream output, PMessage<?> message) throws PSerializeException
serialize in class PSerializerPSerializeExceptionpublic <T> int serialize(OutputStream output, PDescriptor<T> descriptor, T value) throws IOException, PSerializeException
serialize in class PSerializerIOExceptionPSerializeExceptionpublic <T> T deserialize(InputStream input, PDescriptor<T> type) throws PSerializeException
deserialize in class PSerializerPSerializeExceptionprotected <T extends PMessage<T>> T parseMessage(net.morimekta.util.json.JsonTokenizer tokenizer, PStructDescriptor<T,?> type) throws PSerializeException, net.morimekta.util.json.JsonException, IOException
T - Message generic type.tokenizer - The object to parse.type - The message type.PSerializeExceptionnet.morimekta.util.json.JsonExceptionIOExceptionprotected <T extends PMessage<T>> T parseCompactMessage(net.morimekta.util.json.JsonTokenizer tokenizer, PStructDescriptor<T,?> type) throws PSerializeException, IOException, net.morimekta.util.json.JsonException
T - Message generic type.tokenizer - The object to parse.type - The message type.PSerializeExceptionIOExceptionnet.morimekta.util.json.JsonExceptionprotected <T> T parseTypedValue(net.morimekta.util.json.JsonToken token,
net.morimekta.util.json.JsonTokenizer tokenizer,
PDescriptor<T> t)
throws IOException,
PSerializeException
IOExceptionPSerializeExceptionprotected Object parseMapKey(String key, PDescriptor keyType) throws PSerializeException
PSerializeExceptionprotected void appendMessage(net.morimekta.util.json.JsonWriter writer,
PMessage<?> message)
throws PSerializeException,
net.morimekta.util.json.JsonException
PSerializeExceptionnet.morimekta.util.json.JsonExceptionprotected void appendTypedValue(net.morimekta.util.json.JsonWriter writer,
PDescriptor type,
Object value)
throws PSerializeException,
net.morimekta.util.json.JsonException
PSerializeExceptionnet.morimekta.util.json.JsonExceptionprotected void appendPrimitiveKey(net.morimekta.util.json.JsonWriter writer,
Object primitive)
throws net.morimekta.util.json.JsonException,
PSerializeException
writer - The writer to add primitive key to.primitive - Primitive object to get map key value of.net.morimekta.util.json.JsonExceptionPSerializeExceptionprotected void appendPrimitive(net.morimekta.util.json.JsonWriter writer,
Object primitive)
throws net.morimekta.util.json.JsonException,
PSerializeException
writer - The JSON writer.primitive - The primitive instance.net.morimekta.util.json.JsonExceptionPSerializeExceptionCopyright © 2016. All rights reserved.