Ich versuche das folgende seltsam geformte JSON-Objekt in die Klasse zu deserialisieren, die viel mehr Sinn macht.Deserialisieren eines seltsam geformten JSON-Objekts mit Json.NET
{
"item": {
"article_title": {
"type": "text",
"value": "Title of article 1"
},
"content": {
"type": "text",
"value": "Article 1 content"
},
"related_articles": {
"type": "related",
"value": [
"article2"
]
}
},
"additional_items": {
"article2": {
"article_title": {
"type": "text",
"value": "Title of article 2"
},
"content": {
"type": "text",
"value": "Article 2 content"
},
"related_articles": {
"type": "related",
"value": []
}
}
}
}
deserialize in die folgende Klasse Article
public class Article {
public string ArticleTitle;
public string Content;
public List<Article> RelatedArticles;
}
Die JSON hat zwei Eigenschaften in seinem Wurzelobjekt. Item
ist der aktuelle Artikel und additional_items
Eigenschaft enthält alle anderen Elemente, die in related_articles
Eigenschaft verwiesen werden.
Ich konnte eine funktionierende Lösung basierend auf JsonConverter-Lösung Parse json with different types value (Newtonsoft.Json), aber das ist eigentlich nicht was ich brauche. Ich habe viele JSON-Antworten ähnlich wie diese, und ich möchte nicht für jeden von ihnen einen Konverter schreiben. Was ich brauche, ist etwas, das in der Lage ist, den Wert anhand des Namens der Eigenschaft aufzulösen (z. B. <class-name>.<property-name>
).
Sie benötigen möglicherweise einen benutzerdefinierten Konverter. – user3682091
http://json2csharp.com –