public static void ReadObject(JsonReader reader, object context, BeginObjectDelegate begin, ParserDelegate parser, EndObjectDelegate end) { System.Diagnostics.Debug.Assert(reader.Token == JsonToken.ObjectStart); if (begin != null) { begin(context); } // parse the properties reader.Read(); while (reader.Token != JsonToken.ObjectEnd) { parser(reader, context); reader.Read(); } if (end != null) { end(context); } }
public static void ReadArray(JsonReader reader, object context, BeginObjectDelegate begin, ParserDelegate parser, EndObjectDelegate end) { System.Diagnostics.Debug.Assert(reader.Token == JsonToken.ArrayStart); // parse the elements reader.Read(); while (reader.Token != JsonToken.ArrayEnd) { if (reader.Token == JsonToken.ObjectStart) { ReadObject(reader, context, begin, parser, end); } else if (reader.Token == JsonToken.ArrayStart) { ReadArray(reader, context, parser); } else { parser(reader, context); } reader.Read(); } }