Package org.json.simple.parser
Class JSONParser
- java.lang.Object
-
- org.json.simple.parser.JSONParser
-
public class JSONParser extends java.lang.Object
Parser for JSON text. Please note that JSONParser is NOT thread-safe.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.LinkedList
handlerStatusStack
private Yylex
lexer
static int
S_END
static int
S_IN_ARRAY
static int
S_IN_ERROR
static int
S_IN_FINISHED_VALUE
static int
S_IN_OBJECT
static int
S_IN_PAIR_VALUE
static int
S_INIT
static int
S_PASSED_PAIR_KEY
private int
status
private Yytoken
token
-
Constructor Summary
Constructors Constructor Description JSONParser()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.util.List
createArrayContainer(ContainerFactory containerFactory)
private java.util.Map
createObjectContainer(ContainerFactory containerFactory)
int
getPosition()
private void
nextToken()
java.lang.Object
parse(java.io.Reader in)
java.lang.Object
parse(java.io.Reader in, ContainerFactory containerFactory)
Parse JSON text into java object from the input source.void
parse(java.io.Reader in, ContentHandler contentHandler)
void
parse(java.io.Reader in, ContentHandler contentHandler, boolean isResume)
Stream processing of JSON text.java.lang.Object
parse(java.lang.String s)
java.lang.Object
parse(java.lang.String s, ContainerFactory containerFactory)
void
parse(java.lang.String s, ContentHandler contentHandler)
void
parse(java.lang.String s, ContentHandler contentHandler, boolean isResume)
private int
peekStatus(java.util.LinkedList statusStack)
void
reset()
Reset the parser to the initial state without resetting the underlying reader.void
reset(java.io.Reader in)
Reset the parser to the initial state with a new character reader.
-
-
-
Field Detail
-
S_INIT
public static final int S_INIT
- See Also:
- Constant Field Values
-
S_IN_FINISHED_VALUE
public static final int S_IN_FINISHED_VALUE
- See Also:
- Constant Field Values
-
S_IN_OBJECT
public static final int S_IN_OBJECT
- See Also:
- Constant Field Values
-
S_IN_ARRAY
public static final int S_IN_ARRAY
- See Also:
- Constant Field Values
-
S_PASSED_PAIR_KEY
public static final int S_PASSED_PAIR_KEY
- See Also:
- Constant Field Values
-
S_IN_PAIR_VALUE
public static final int S_IN_PAIR_VALUE
- See Also:
- Constant Field Values
-
S_END
public static final int S_END
- See Also:
- Constant Field Values
-
S_IN_ERROR
public static final int S_IN_ERROR
- See Also:
- Constant Field Values
-
handlerStatusStack
private java.util.LinkedList handlerStatusStack
-
lexer
private Yylex lexer
-
token
private Yytoken token
-
status
private int status
-
-
Method Detail
-
peekStatus
private int peekStatus(java.util.LinkedList statusStack)
-
reset
public void reset()
Reset the parser to the initial state without resetting the underlying reader.
-
reset
public void reset(java.io.Reader in)
Reset the parser to the initial state with a new character reader.- Parameters:
in
- - The new character reader.- Throws:
java.io.IOException
ParseException
-
getPosition
public int getPosition()
- Returns:
- The position of the beginning of the current token.
-
parse
public java.lang.Object parse(java.lang.String s) throws ParseException
- Throws:
ParseException
-
parse
public java.lang.Object parse(java.lang.String s, ContainerFactory containerFactory) throws ParseException
- Throws:
ParseException
-
parse
public java.lang.Object parse(java.io.Reader in) throws java.io.IOException, ParseException
- Throws:
java.io.IOException
ParseException
-
parse
public java.lang.Object parse(java.io.Reader in, ContainerFactory containerFactory) throws java.io.IOException, ParseException
Parse JSON text into java object from the input source.- Parameters:
in
-containerFactory
- - Use this factory to createyour own JSON object and JSON array containers.- Returns:
- Instance of the following: org.json.simple.JSONObject, org.json.simple.JSONArray, java.lang.String, java.lang.Number, java.lang.Boolean, null
- Throws:
java.io.IOException
ParseException
-
nextToken
private void nextToken() throws ParseException, java.io.IOException
- Throws:
ParseException
java.io.IOException
-
createObjectContainer
private java.util.Map createObjectContainer(ContainerFactory containerFactory)
-
createArrayContainer
private java.util.List createArrayContainer(ContainerFactory containerFactory)
-
parse
public void parse(java.lang.String s, ContentHandler contentHandler) throws ParseException
- Throws:
ParseException
-
parse
public void parse(java.lang.String s, ContentHandler contentHandler, boolean isResume) throws ParseException
- Throws:
ParseException
-
parse
public void parse(java.io.Reader in, ContentHandler contentHandler) throws java.io.IOException, ParseException
- Throws:
java.io.IOException
ParseException
-
parse
public void parse(java.io.Reader in, ContentHandler contentHandler, boolean isResume) throws java.io.IOException, ParseException
Stream processing of JSON text.- Parameters:
in
-contentHandler
-isResume
- - Indicates if it continues previous parsing operation. If set to true, resume parsing the old stream, and parameter 'in' will be ignored. If this method is called for the first time in this instance, isResume will be ignored.- Throws:
java.io.IOException
ParseException
- See Also:
ContentHandler
-
-