JSON mit benutzerdefiniertem Deserializer mit JSON.Net deserialisieren

Ich habe JSON, das so aussieht:

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

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

    ]
  }
}

Ich versuche es zu deserialisierenIEnumerable von Klassen, die so aussehen:

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

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

Ist das möglich?
Mir ist klar, dass ich dafür wahrscheinlich einen benutzerdefinierten JsonConverter benötigen werde, aber ich kann keine Beispiele finden.

Ich habe angefangen, eine Methode zu schreiben, mit der ich konvertieren kannJObject.Parse aber nicht sicher, ob dies der richtige / effizienteste Weg ist:

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;
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage