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)
Constructs a a new
JSONScanner that produces values scanned from specified JSONBuffer. |
JsonScanner(java.lang.String json)
Constructs a a new
JSONScanner that produces values scanned from the specified String. |
| 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
public JsonScanner(JsonBuffer buffer)
JSONScanner that produces values scanned from specified JSONBuffer.buffer - A buffer to be scanned.public JsonScanner(java.lang.String json)
JSONScanner that produces values scanned from the specified String.json - A string representation of a JSON to be scanned.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.