/// <summary> /// Parses out a JSON object AST node with a jsonTextReader. /// </summary> /// <param name="jsonTextReader">The reader to use as a lexer / tokenizer</param> /// <returns>JSON object AST node</returns> private static ObjectNode ParseObjectNode(IJsonReader jsonTextReader) { List <ObjectProperty> properties = new List <ObjectProperty>(); // consume the begin object token jsonTextReader.Read(); while (jsonTextReader.CurrentTokenType != JsonTokenType.EndObject) { ObjectProperty property = JsonTextParser.ParsePropertyNode(jsonTextReader); properties.Add(property); } // consume the end object token jsonTextReader.Read(); return(ObjectNode.Create(properties)); }