in plugins/json/src/main/java/org/apache/struts2/json/JSONReader.java [75:123]
protected Object read() throws JSONException {
Object ret;
this.skipWhiteSpace();
if (this.c == '"') {
this.next();
ret = this.string('"');
} else if (this.c == '\'') {
this.next();
ret = this.string('\'');
} else if (this.c == '[') {
this.next();
ret = this.array();
} else if (this.c == ']') {
ret = ARRAY_END;
this.next();
} else if (this.c == ',') {
ret = COMMA;
this.next();
} else if (this.c == '{') {
this.next();
ret = this.object();
} else if (this.c == '}') {
ret = OBJECT_END;
this.next();
} else if (this.c == ':') {
ret = COLON;
this.next();
} else if ((this.c == 't') && (this.next() == 'r') && (this.next() == 'u') && (this.next() == 'e')) {
ret = Boolean.TRUE;
this.next();
} else if ((this.c == 'f') && (this.next() == 'a') && (this.next() == 'l') && (this.next() == 's')
&& (this.next() == 'e')) {
ret = Boolean.FALSE;
this.next();
} else if ((this.c == 'n') && (this.next() == 'u') && (this.next() == 'l') && (this.next() == 'l')) {
ret = null;
this.next();
} else if (Character.isDigit(this.c) || (this.c == '-')) {
ret = this.number();
} else {
throw buildInvalidInputException();
}
this.token = ret;
return ret;
}