using System.Collections.Generic;
public static void Main()
""title"": ""My most recent drawing. Spent over 100 hours."",
""title"": ""Imgur Office"",
""link"": ""http://i.imgur.com/24nLu.jpg""
""link"": ""http://i.imgur.com/Ziz25.jpg""
""link"": ""http://i.imgur.com/9tzW6.jpg""
using (var r = ChoJSONReader<IGalleryItem>.LoadText(json)
.ErrorMode(ChoErrorMode.IgnoreAndContinue)
.Configure(c => c.KnownTypeDiscriminator = "is_album")
.Configure(c => c.RecordTypeSelector = o =>
var isAlbum = o.CastTo<bool>();
return !isAlbum ? typeof(GalleryAlbum) : typeof(GalleryItem);
.Configure(c => c.SupportsMultiRecordTypes = true)
public interface IGalleryItem
public class GalleryItem : IGalleryItem
public string id { get; set; }
public string title { get; set; }
public bool is_album { get; set; }
public class GalleryAlbum : GalleryItem
public int images_count { get; set; }
public List<GalleryImage> images { get; set; }
public class GalleryImage
public string id { get; set; }
public string link { get; set; }