Package blackberry.common.util.json4j.internal

Examples of blackberry.common.util.json4j.internal.JSON4JPBackReader


    public static JSONArtifact parse(Reader reader, boolean order, boolean strict) throws JSONException, NullPointerException {

        try {
            if (reader != null) {

                JSON4JPBackReader pReader = null;

                //Determine if we should buffer-wrap the reader before passing it on
                //to the appropriate parser.
                boolean bufferIt = false;

                Class readerClass = reader.getClass();

               /* if (!StringReader.class.isAssignableFrom(readerClass) &&
                    !CharArrayReader.class.isAssignableFrom(readerClass) &&
                    !PushbackReader.class.isAssignableFrom(readerClass) &&
                    !BufferedReader.class.isAssignableFrom(readerClass)) {
                    bufferIt = true;
                } */

                //MSN IMPLEMENT PUSHBACKREADER!!
                if (JSON4JPBackReader.class.isAssignableFrom(readerClass)) {
                    pReader = (JSON4JPBackReader) reader;
                } else {
                    pReader = new JSON4JPBackReader(reader);
                }

                Reader rdr = pReader;
                int ch = pReader.read();
                while (ch != -1) {
                    switch (ch) {
                        case '{':
                            pReader.unread(ch);
                           /* if (bufferIt) {
                                rdr = new BufferedReader(pReader);
                            } */                     
                            return new JSONObject(rdr,strict);
                        case '[':
                            pReader.unread(ch);
                            /*if (bufferIt) {
                                rdr = new BufferedReader(pReader);
                            } */
                            return new JSONArray(rdr, strict);
                        case ' ':
                        case '\t':
                        case '\f':
                        case '\r':
                        case '\n':
                        case '\b':
                            ch = pReader.read();
                            break;
                        default:
                            throw new JSONException("Unexpected character: [" + (char)ch + "] while scanning JSON String for JSON type.  Invalid JSON.");
                    }
                }
View Full Code Here

TOP

Related Classes of blackberry.common.util.json4j.internal.JSON4JPBackReader

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.