private JSONValue ParseValue()
{
this.SkipWs();
switch (this.cur)
{
case '-':
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
return this.ParseNumber();
case '"':
return this.ParseString();
case '[':
return this.ParseArray();
case 'f':
case 'n':
case 't':
return this.ParseConstant();
case '{':
return this.ParseDict();
}
throw new JSONParseException("Cannot parse json value starting with '" + this.json.Substring(this.idx, 5) + "' at " + this.PosMsg());
}