Десериализация JSON с использованием собственного десериализатора с JSON.Net

У меня есть JSON, который выглядит так:

{
  "MobileSiteContents": {
    "au/en": [
      "http://www.url1.com",
      "http://www.url2.com",

    ],
    "cn/zh": [
      "http://www.url2643.com",

    ]
  }
}

Я пытаюсь десериализовать это вIEnumerable классов, которые выглядят так:

public class MobileSiteContentsContentSectionItem : ContentSectionItem
{
    public string[] Urls { get; set; }
}

public abstract class ContentSectionItem
{
    public string Culture { get; set; }
}

Это возможно?
Я понимаю, что мне, вероятно, потребуется использовать Custom JsonConverter для этого, но не могу найти никаких примеров.

Я начал писать метод для преобразования с помощьюJObject.Parse но не уверен, что это правильный / наиболее эффективный маршрут для спуска:

public IEnumerable<MobileSiteContentsContentSectionItem> Parse(string json)
{
    var jobject = JObject.Parse(json);

    var result = new List<MobileSiteContentsContentSectionItem>();

    foreach (var item in jobject.Children()),
    {
        var culture = item.Path;
        string[] urls = new[] { "" }; //= this is the part I'm having troble with here...

        result.Add(new MobileSiteContentsContentSectionItem { Culture = culture, Urls = urls });
    }

    return result;
}

Ответы на вопрос(2)

Ваш ответ на вопрос