Package aQute.lib.json
Class JSONCodec
- java.lang.Object
-
- aQute.lib.json.JSONCodec
-
public class JSONCodec extends java.lang.Object
This is a simple JSON Coder and Encoder that uses the Java type system to convert data objects to JSON and JSON to (type safe) Java objects. The conversion is very much driven by classes and their public fields. Generic information, when present is taken into account. Usage patterns to encode:JSONCoder codec = new JSONCodec(); // assert "1".equals( codec.enc().to().put(1).toString()); assert "[1,2,3]".equals( codec.enc().to().put(Arrays.asList(1,2,3).toString()); Map m = new HashMap(); m.put("a", "A"); assert "{\"a\":\"A\"}".equals( codec.enc().to().put(m).toString()); static class D { public int a; } D d = new D(); d.a = 41; assert "{\"a\":41}".equals( codec.enc().to().put(d).toString());
It is possible to redirect the encoder to another output (default is a string). SeeEncoder.to()
,Encoder.to(File)
,Encoder.to(OutputStream)
,Encoder.to(Appendable)
. To reset the string output callEncoder.to()
. This Codec class can be used in a concurrent environment. The Decoders and Encoders, however, must only be used in a single thread. Will now use hex for encoding byte arrays
-
-
Constructor Summary
Constructors Constructor Description JSONCodec()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description JSONCodec
addHandler(java.lang.reflect.Type type, Handler handler)
Add a new local handlerDecoder
dec()
Create a new Decoder with the state and appropriate API.Encoder
enc()
Create a new Encoder with the state and appropriate API.boolean
isIgnorenull()
JSONCodec
setIgnorenull(boolean ignorenull)
Ignore null values in output and input
-
-
-
Method Detail
-
enc
public Encoder enc()
Create a new Encoder with the state and appropriate API.- Returns:
- an Encoder
-
dec
public Decoder dec()
Create a new Decoder with the state and appropriate API.- Returns:
- a Decoder
-
setIgnorenull
public JSONCodec setIgnorenull(boolean ignorenull)
Ignore null values in output and input- Parameters:
ignorenull
-- Returns:
- this
-
isIgnorenull
public boolean isIgnorenull()
-
-