Class JsonReader
- java.lang.Object
-
- org.apache.logging.log4j.layout.template.json.util.JsonReader
-
public final class JsonReader extends java.lang.ObjectA simple JSON parser mapping tokens to basic Java types.The type mapping is as follows:
- objects are mapped to
LinkedHashMap<String,Object> - arrays are mapped to
LinkedList - strings are mapped to
Stringwith proper Unicode and escape character conversion - true, false, and null are mapped to their Java counterparts
- floating point numbers are mapped to
BigDecimal - integral numbers are mapped to either primitive types
(int, long) or
BigInteger
This code is heavily influenced by the reader of mjson.
- objects are mapped to
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classJsonReader.Delimiter
-
Field Summary
Fields Modifier and Type Field Description private java.lang.StringBuilderbufferprivate java.text.CharacterIteratoritprivate charreadCharprivate intreadCharIndexprivate java.lang.ObjectreadTokenprivate intreadTokenStartIndex
-
Constructor Summary
Constructors Modifier Constructor Description privateJsonReader()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidbufferChar(char c)private voidbufferDigits()private voidbufferReadChar()private voidexpectDelimiter(JsonReader.Delimiter expectedDelimiter, java.lang.Object actualToken)static java.lang.Objectread(java.lang.String json)private java.lang.Objectread(java.text.CharacterIterator ci)private java.util.List<java.lang.Object>readArray()private charreadChar()private booleanreadFalse()private java.lang.ObjectreadNull()private java.lang.NumberreadNumber()private java.util.Map<java.lang.String,java.lang.Object>readObject()private java.lang.StringreadObjectKey()private java.lang.StringreadString()private java.lang.ObjectreadToken()private booleanreadTrue()private charreadUnicodeChar()private voidskipWhiteSpace()private voidunreadChar()
-
-
-
Method Detail
-
read
public static java.lang.Object read(java.lang.String json)
-
read
private java.lang.Object read(java.text.CharacterIterator ci)
-
readToken
private java.lang.Object readToken()
-
skipWhiteSpace
private void skipWhiteSpace()
-
readChar
private char readChar()
-
unreadChar
private void unreadChar()
-
readString
private java.lang.String readString()
-
bufferReadChar
private void bufferReadChar()
-
bufferChar
private void bufferChar(char c)
-
readUnicodeChar
private char readUnicodeChar()
-
readObject
private java.util.Map<java.lang.String,java.lang.Object> readObject()
-
readArray
private java.util.List<java.lang.Object> readArray()
-
readObjectKey
private java.lang.String readObjectKey()
-
expectDelimiter
private void expectDelimiter(JsonReader.Delimiter expectedDelimiter, java.lang.Object actualToken)
-
readTrue
private boolean readTrue()
-
readFalse
private boolean readFalse()
-
readNull
private java.lang.Object readNull()
-
readNumber
private java.lang.Number readNumber()
-
bufferDigits
private void bufferDigits()
-
-