Class JSONParser


  • public class JSONParser
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Constructor Description
      JSONParser()
      Deprecated.
      prefer usage of new JSONParser(JSONParser.MODE_*)
      JSONParser​(int permissifMode)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private JSONParserInputStream getPBinStream()
      cached constructor
      private JSONParserByteArray getPBytes()
      cached constructor
      private JSONParserReader getPStream()  
      private JSONParserString getPString()
      cached constructor
      java.lang.Object parse​(byte[] in)
      use to return Primitive Type, or String, Or JsonObject or JsonArray generated by a ContainerFactory
      <T> T parse​(byte[] in, java.lang.Class<T> mapTo)
      use to return Primitive Type, or String, Or JsonObject or JsonArray generated by a ContainerFactory
      <T> T parse​(byte[] in, JsonReaderI<T> mapper)
      use to return Primitive Type, or String, Or JsonObject or JsonArray generated by a ContainerFactory
      java.lang.Object parse​(java.io.InputStream in)
      use to return Primitive Type, or String, Or JsonObject or JsonArray generated by a ContainerFactory
      <T> T parse​(java.io.InputStream in, java.lang.Class<T> mapTo)
      use to return Primitive Type, or String, Or JsonObject or JsonArray generated by a ContainerFactory
      <T> T parse​(java.io.InputStream in, JsonReaderI<T> mapper)
      use to return Primitive Type, or String, Or JsonObject or JsonArray generated by a ContainerFactory
      java.lang.Object parse​(java.io.Reader in)
      use to return Primitive Type, or String, Or JsonObject or JsonArray generated by a ContainerFactory
      <T> T parse​(java.io.Reader in, java.lang.Class<T> mapTo)
      use to return Primitive Type, or String, Or JsonObject or JsonArray generated by a ContainerFactory
      <T> T parse​(java.io.Reader in, JsonReaderI<T> mapper)
      use to return Primitive Type, or String, Or JsonObject or JsonArray generated by a ContainerFactory
      java.lang.Object parse​(java.lang.String in)
      use to return Primitive Type, or String, Or JsonObject or JsonArray generated by a ContainerFactory
      <T> T parse​(java.lang.String in, java.lang.Class<T> mapTo)
      use to return Primitive Type, or String, Or JsonObject or JsonArray generated by a ContainerFactory
      <T> T parse​(java.lang.String in, JsonReaderI<T> mapper)
      use to return Primitive Type, or String, Or JsonObject or JsonArray generated by a ContainerFactory
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • ACCEPT_SIMPLE_QUOTE

        public static final int ACCEPT_SIMPLE_QUOTE
        allow simple quote as String quoting char
        See Also:
        Constant Field Values
      • ACCEPT_NON_QUOTE

        public static final int ACCEPT_NON_QUOTE
        allow non quoted test
        See Also:
        Constant Field Values
      • IGNORE_CONTROL_CHAR

        public static final int IGNORE_CONTROL_CHAR
        Ignore control char in input text.
        See Also:
        Constant Field Values
      • USE_INTEGER_STORAGE

        public static final int USE_INTEGER_STORAGE
        Use int datatype to store number when it's possible.
        Since:
        1.0.7
        See Also:
        Constant Field Values
      • ACCEPT_LEADING_ZERO

        public static final int ACCEPT_LEADING_ZERO
        Throws exception on excessive 0 leading in digits
        Since:
        1.0.7
        See Also:
        Constant Field Values
      • ACCEPT_USELESS_COMMA

        public static final int ACCEPT_USELESS_COMMA
        Throws exception on useless comma in object and array
        Since:
        1.0.8
        See Also:
        Constant Field Values
      • USE_HI_PRECISION_FLOAT

        public static final int USE_HI_PRECISION_FLOAT
        Allow Json-smart to use Double or BigDecimal to store floating point value

        You may need to disable HI_PRECISION_FLOAT feature on 32bit to improve parsing performances.

        Since:
        1.0.9
        See Also:
        Constant Field Values
      • ACCEPT_TAILLING_DATA

        public static final int ACCEPT_TAILLING_DATA
        If enabled json-smart will throws exception if datas are present after the end of the Json data.
        Since:
        1.0.9-2
        See Also:
        Constant Field Values
      • ACCEPT_TAILLING_SPACE

        public static final int ACCEPT_TAILLING_SPACE
        smart mode, fastest parsing mode. accept lots of non standard json syntax
        Since:
        2.0.1
        See Also:
        Constant Field Values
      • REJECT_127_CHAR

        public static final int REJECT_127_CHAR
        smart mode, fastest parsing mode. accept lots of non standard json syntax
        Since:
        2.2.2
        See Also:
        Constant Field Values
      • BIG_DIGIT_UNRESTRICTED

        public static final int BIG_DIGIT_UNRESTRICTED
        Use double if possible for big digits, if no precision lost is observed
        Since:
        2.4
        See Also:
        Constant Field Values
      • LIMIT_JSON_DEPTH

        public static final int LIMIT_JSON_DEPTH
        If limit the max depth of JSON size
        Since:
        2.5
        See Also:
        Constant Field Values
      • ACCEPT_INCOMPLETE

        public static final int ACCEPT_INCOMPLETE
        If the parser is in stream mode

        Stream mode is used to parse a stream of JSON data. It will not throw exception on incomplete data.

        Since:
        2.6
        See Also:
        Constant Field Values
      • MODE_PERMISSIVE

        public static final int MODE_PERMISSIVE
        smart mode, fastest parsing mode. accept lots of non standard JSON syntax ACCEPT_INCOMPLETE feature is not enabled. in this mode, for backward compatibility
        Since:
        1.0.6
        See Also:
        Constant Field Values
      • MODE_PERMISSIVE_WITH_INCOMPLETE

        public static final int MODE_PERMISSIVE_WITH_INCOMPLETE
        See Also:
        Constant Field Values
      • MODE_RFC4627

        public static final int MODE_RFC4627
        strict RFC4627 mode.

        slower than PERMISSIVE MODE.

        Since:
        1.0.6
        See Also:
        Constant Field Values
      • MODE_JSON_SIMPLE

        public static final int MODE_JSON_SIMPLE
        Parse Object like json-simple

        Best for an iso-bug json-simple API port.

        Since:
        1.0.7
        See Also:
        Constant Field Values
      • MODE_STRICTEST

        public static final int MODE_STRICTEST
        Strictest parsing mode
        Since:
        2.0.1
        See Also:
        Constant Field Values
      • DEFAULT_PERMISSIVE_MODE

        public static int DEFAULT_PERMISSIVE_MODE
        Default json-smart processing mode
      • mode

        private final int mode
    • Constructor Detail

      • JSONParser

        public JSONParser()
        Deprecated.
        prefer usage of new JSONParser(JSONParser.MODE_*)
      • JSONParser

        public JSONParser​(int permissifMode)
    • Method Detail

      • getPBinStream

        private JSONParserInputStream getPBinStream()
        cached constructor
        Returns:
        instance of JSONParserInputStream
      • getPString

        private JSONParserString getPString()
        cached constructor
        Returns:
        instance of JSONParserString
      • getPBytes

        private JSONParserByteArray getPBytes()
        cached constructor
        Returns:
        instance of JSONParserByteArray
      • parse

        public java.lang.Object parse​(byte[] in)
                               throws ParseException
        use to return Primitive Type, or String, Or JsonObject or JsonArray generated by a ContainerFactory
        Throws:
        ParseException
      • parse

        public <T> T parse​(byte[] in,
                           JsonReaderI<T> mapper)
                    throws ParseException
        use to return Primitive Type, or String, Or JsonObject or JsonArray generated by a ContainerFactory
        Throws:
        ParseException
      • parse

        public <T> T parse​(byte[] in,
                           java.lang.Class<T> mapTo)
                    throws ParseException
        use to return Primitive Type, or String, Or JsonObject or JsonArray generated by a ContainerFactory
        Throws:
        ParseException
      • parse

        public java.lang.Object parse​(java.io.InputStream in)
                               throws ParseException,
                                      java.io.UnsupportedEncodingException
        use to return Primitive Type, or String, Or JsonObject or JsonArray generated by a ContainerFactory
        Throws:
        java.io.UnsupportedEncodingException
        ParseException
      • parse

        public <T> T parse​(java.io.InputStream in,
                           JsonReaderI<T> mapper)
                    throws ParseException,
                           java.io.UnsupportedEncodingException
        use to return Primitive Type, or String, Or JsonObject or JsonArray generated by a ContainerFactory
        Throws:
        ParseException
        java.io.UnsupportedEncodingException
      • parse

        public <T> T parse​(java.io.InputStream in,
                           java.lang.Class<T> mapTo)
                    throws ParseException,
                           java.io.UnsupportedEncodingException
        use to return Primitive Type, or String, Or JsonObject or JsonArray generated by a ContainerFactory
        Throws:
        ParseException
        java.io.UnsupportedEncodingException
      • parse

        public java.lang.Object parse​(java.io.Reader in)
                               throws ParseException
        use to return Primitive Type, or String, Or JsonObject or JsonArray generated by a ContainerFactory
        Throws:
        ParseException
      • parse

        public <T> T parse​(java.io.Reader in,
                           JsonReaderI<T> mapper)
                    throws ParseException
        use to return Primitive Type, or String, Or JsonObject or JsonArray generated by a ContainerFactory
        Throws:
        ParseException
      • parse

        public <T> T parse​(java.io.Reader in,
                           java.lang.Class<T> mapTo)
                    throws ParseException
        use to return Primitive Type, or String, Or JsonObject or JsonArray generated by a ContainerFactory
        Throws:
        ParseException
      • parse

        public java.lang.Object parse​(java.lang.String in)
                               throws ParseException
        use to return Primitive Type, or String, Or JsonObject or JsonArray generated by a ContainerFactory
        Throws:
        ParseException
      • parse

        public <T> T parse​(java.lang.String in,
                           JsonReaderI<T> mapper)
                    throws ParseException
        use to return Primitive Type, or String, Or JsonObject or JsonArray generated by a ContainerFactory
        Throws:
        ParseException
      • parse

        public <T> T parse​(java.lang.String in,
                           java.lang.Class<T> mapTo)
                    throws ParseException
        use to return Primitive Type, or String, Or JsonObject or JsonArray generated by a ContainerFactory
        Throws:
        ParseException