- java.lang.Object
-
- at.syntaxerror.json5.JSONParser
-
public class JSONParser extends Object
A JSONParser is used to convert a source string into tokens, which then are used to constructJSONObjectsandJSONArrays- Author:
- SyntaxError404
-
-
Field Summary
Fields Modifier and Type Field Description protected JSONOptionsoptionsprotected booleanrootwhether we're currently parsing the root object/array
-
Constructor Summary
Constructors Constructor Description JSONParser(InputStream stream)Constructs a new JSONParser from an InputStream.JSONParser(InputStream stream, JSONOptions options)Constructs a new JSONParser from an InputStream.JSONParser(Reader reader)Constructs a new JSONParser from a Reader.JSONParser(Reader reader, JSONOptions options)Constructs a new JSONParser from a Reader.JSONParser(String source)Constructs a new JSONParser from a string.JSONParser(String source, JSONOptions options)Constructs a new JSONParser from a string
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidback()Forces the parser to re-read the last characterprotected static StringcharToString(char c)Converts a character into a string representation: ifc == 0,"EOF"is returned ifcfulfills one of the following conditions,"'x'"is returned, wherexis the value returned byCharacter.toString(char): ifcis an extended ASCII character (U+0001-U+00FF), exceptcontrol charactersifcis aUnicode letterifcis aUnicode digitotherwise,"U+XXXX"is returned, whereXXXXis the uppercase hexadecimal representation ofc's Unicode codepoint, padded with zeros (0) to a length of 4 characterscharnextClean()Reads until encountering a character that is not a whitespace according to the JSON5 SpecificationStringnextMemberName()Reads a member name from the source according to the JSON5 SpecificationObjectnextValue()Reads a value from the source according to the JSON5 SpecificationJSONExceptionsyntaxError(String message)Constructs a new JSONException with a detail messageJSONExceptionsyntaxError(String message, Throwable cause)Constructs a new JSONException with a detail message and a causing exceptionStringtoString()
-
-
-
Field Detail
-
options
protected final JSONOptions options
-
root
protected boolean root
whether we're currently parsing the root object/array
-
-
Constructor Detail
-
JSONParser
public JSONParser(Reader reader, JSONOptions options)
Constructs a new JSONParser from a Reader. The reader is notclosed- Parameters:
reader- a readeroptions- the options for parsing- Since:
- 1.1.0
-
JSONParser
public JSONParser(String source, JSONOptions options)
Constructs a new JSONParser from a string- Parameters:
source- a stringoptions- the options for parsing- Since:
- 1.1.0
-
JSONParser
public JSONParser(InputStream stream, JSONOptions options)
Constructs a new JSONParser from an InputStream. The stream is notclosed- Parameters:
stream- a streamoptions- the options for parsing- Since:
- 1.1.0
-
JSONParser
public JSONParser(Reader reader)
Constructs a new JSONParser from a Reader. The reader is notclosed. This uses thedefault options- Parameters:
reader- a reader
-
JSONParser
public JSONParser(String source)
Constructs a new JSONParser from a string. This uses thedefault options- Parameters:
source- a string
-
JSONParser
public JSONParser(InputStream stream)
Constructs a new JSONParser from an InputStream. The stream is notclosed. This uses thedefault options- Parameters:
stream- a stream
-
-
Method Detail
-
back
public void back()
Forces the parser to re-read the last character
-
nextClean
public char nextClean()
Reads until encountering a character that is not a whitespace according to the JSON5 Specification- Returns:
- a non-whitespace character, or
0if the end of the stream has been reached
-
nextMemberName
public String nextMemberName()
Reads a member name from the source according to the JSON5 Specification- Returns:
- an member name
-
nextValue
public Object nextValue()
Reads a value from the source according to the JSON5 Specification- Returns:
- a value
-
syntaxError
public JSONException syntaxError(String message, Throwable cause)
Constructs a new JSONException with a detail message and a causing exception- Parameters:
message- the detail messagecause- the causing exception- Returns:
- a JSONException
-
syntaxError
public JSONException syntaxError(String message)
Constructs a new JSONException with a detail message- Parameters:
message- the detail message- Returns:
- a JSONException
-
charToString
protected static String charToString(char c)
Converts a character into a string representation:- if
c == 0,"EOF"is returned - if
cfulfills one of the following conditions,"'x'"is returned, wherexis the value returned byCharacter.toString(char):- if
cis an extended ASCII character (U+0001-U+00FF), exceptcontrol characters - if
cis aUnicode letter - if
cis aUnicode digit
- if
- otherwise,
"U+XXXX"is returned, whereXXXXis the uppercase hexadecimal representation ofc's Unicode codepoint, padded with zeros (0) to a length of 4 characters
- Parameters:
c- the character- Returns:
- the string representation
- Since:
- 2.1.0
- if
-
-