Class JsonReader
- java.lang.Object
-
- org.apache.logging.log4j.layout.template.json.util.JsonReader
-
public final class JsonReader extends java.lang.Object
A 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
String
with 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 class
JsonReader.Delimiter
-
Field Summary
Fields Modifier and Type Field Description private java.lang.StringBuilder
buffer
private java.text.CharacterIterator
it
private char
readChar
private int
readCharIndex
private java.lang.Object
readToken
private int
readTokenStartIndex
-
Constructor Summary
Constructors Modifier Constructor Description private
JsonReader()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
bufferChar(char c)
private void
bufferDigits()
private void
bufferReadChar()
private void
expectDelimiter(JsonReader.Delimiter expectedDelimiter, java.lang.Object actualToken)
static java.lang.Object
read(java.lang.String json)
private java.lang.Object
read(java.text.CharacterIterator ci)
private java.util.List<java.lang.Object>
readArray()
private char
readChar()
private boolean
readFalse()
private java.lang.Object
readNull()
private java.lang.Number
readNumber()
private java.util.Map<java.lang.String,java.lang.Object>
readObject()
private java.lang.String
readObjectKey()
private java.lang.String
readString()
private java.lang.Object
readToken()
private boolean
readTrue()
private char
readUnicodeChar()
private void
skipWhiteSpace()
private void
unreadChar()
-
-
-
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()
-
-