public Object nextValue() throws JSONException {
		char c = this.nextClean();
		String string;
		switch (c) {
		case '"':
		case '\'':
			return this.nextString(c);
		case '{':
			this.back();
			return new JSONObject(this);
		case '[':
			this.back();
			return new JSONArray(this);
		}
		StringBuffer sb = new StringBuffer();
		while (c >= ' ' && ",:]}/\\\"[{;=#".indexOf(c) < 0) {
			sb.append(c);
			c = this.next();
		}
		this.back();
		string = sb.toString().trim();
		if ("".equals(string)) {
			throw this.syntaxError("Missing value");
		}
		return JSONObject.stringToValue(string);
	}