Class 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.

    • Field Detail

      • it

        private java.text.CharacterIterator it
      • readCharIndex

        private int readCharIndex
      • readChar

        private char readChar
      • readTokenStartIndex

        private int readTokenStartIndex
      • readToken

        private java.lang.Object readToken
      • buffer

        private final java.lang.StringBuilder buffer
    • Constructor Detail

      • JsonReader

        private JsonReader()
    • 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()