private static LogicJSONNode ParseValue(CharStream stream) { stream.SkipWhitespace(); char charValue = stream.NextChar(); LogicJSONNode node = null; switch (charValue) { case '{': node = LogicJSONParser.ParseObject(stream); break; case '[': node = LogicJSONParser.ParseArray(stream); break; case 'n': node = LogicJSONParser.ParseNull(stream); break; case 'f': node = LogicJSONParser.ParseBoolean(stream); break; case 't': node = LogicJSONParser.ParseBoolean(stream); break; case '"': node = LogicJSONParser.ParseString(stream); break; case '-': node = LogicJSONParser.ParseNumber(stream); break; default: if (charValue >= '0' && charValue <= '9') { node = LogicJSONParser.ParseNumber(stream); } else { LogicJSONParser.ParseError("Not of any recognized value: " + charValue); } break; } return(node); }
public static LogicJSONObject ParseObject(string json) { return(LogicJSONParser.ParseObject(new CharStream(json))); }