class JsonScanner
extends java.lang.Object
JsonToken
-derived objects.Modifier and Type | Class and Description |
---|---|
private static class |
JsonScanner.NumberState |
private static class |
JsonScanner.RegularExpressionState |
Modifier and Type | Field and Description |
---|---|
private JsonBuffer |
buffer |
Constructor and Description |
---|
JsonScanner(JsonBuffer buffer) |
JsonScanner(java.lang.String json) |
Modifier and Type | Method and Description |
---|---|
int |
getBufferPosition() |
JsonToken |
nextToken()
Finds and returns the next complete token from this scanner.
|
private JsonToken |
scanNumber(char firstChar)
Reads number token from source.
|
private JsonToken |
scanRegularExpression()
Reads
RegularExpressionToken from source. |
private JsonToken |
scanString(char quoteCharacter)
Reads
StringToken from source. |
private JsonToken |
scanUnquotedString()
Reads
StringToken from source. |
void |
setBufferPosition(int newPosition) |
private final JsonBuffer buffer
JsonScanner(JsonBuffer buffer)
JsonScanner(java.lang.String json)
public void setBufferPosition(int newPosition)
newPosition
- the new position of the cursor position in the bufferpublic int getBufferPosition()
public JsonToken nextToken()
JSONTokenType.END_OF_FILE
type.JsonParseException
- if source is invalid.private JsonToken scanRegularExpression()
RegularExpressionToken
from source. The following variants of lexemes are possible:
/pattern/ /\(pattern\)/ /pattern/imsOptions can include 'i','m','x','s'
JsonParseException
- if regular expression representation is not valid.private JsonToken scanUnquotedString()
StringToken
from source.private JsonToken scanNumber(char firstChar)
12 123 -0 -345 -0.0 0e1 0e-1 -0e-1 1e12 -Infinity
JsonParseException
- if number representation is invalid.private JsonToken scanString(char quoteCharacter)
StringToken
from source.