public static void ReadJson(IJsonReader jsonReader) { switch (jsonReader.GetToken()) { case Json.JsonToken.Object: jsonReader.TryReadBeginObject(); while (!jsonReader.TryReadEndObject()) { jsonReader.ReadPropertyName(); ReadJson(jsonReader); } break; case Json.JsonToken.Array: jsonReader.TryReadBeginArray(); while (!jsonReader.TryReadEndArray()) { ReadJson(jsonReader); } break; case Json.JsonToken.End: return; default: jsonReader.DirectRead(); break; } }