Ich habe ein JSON wie das Beispiel unten und ich verwende C# mit json.net. Ich versuche dieses JSON in ein Objekt zu deserialisieren, aber es funktioniert nicht.C#, Deserialize JSON
{
"classes": [{
"id": 1,
"mask": 1,
"powerType": "rage",
"name": "Warrior"
}, {
"id": 2,
"mask": 2,
"powerType": "mana",
"name": "Paladin"
}, {
"id": 3,
"mask": 4,
"powerType": "focus",
"name": "Hunter"
}, {
"id": 4,
"mask": 8,
"powerType": "energy",
"name": "Rogue"
}, {
"id": 6,
"mask": 32,
"powerType": "runic-power",
"name": "Death Knight"
}, {
"id": 12,
"mask": 2048,
"powerType": "fury",
"name": "Demon Hunter"
}]
}
1) ich eine Klasse erstellt:
public class ClassJson
{
[JsonProperty(PropertyName = "classes")]
public Class Class { get; set; }
}
2) Die zweite Klasse:
public class Class
{
[JsonProperty(PropertyName = "id", NullValueHandling = NullValueHandling.Ignore)]
public int Id { get; set; }
[JsonProperty(PropertyName = "powerType", NullValueHandling = NullValueHandling.Ignore)]
public string PowerType { get; set; }
[JsonProperty(PropertyName = "name", NullValueHandling = NullValueHandling.Ignore)]
public string Name { get; set; }
}
ich die Api nennen, die json bekommen, und ich einfach JsonConvert.DeserializeObject<List<ClassJson>>(json)
nennen. Nichts passiert, keine Fehler.
Kann mir jemand einen Tipp geben, um die Klassen besser zu strukturieren?
'Klassen' in gegebenem json repräsentiert ein Array. Also müssen Sie die Eigenschaft als 'public Class [] Classes {get; einstellen; } '. Das sollte funktionieren. –
Versuchen Sie JsonConvert.DeserializeObject (Json). Klassen ist eine Sammlungseigenschaft. –
Ich denke, "Klassen" sollte eine "Liste", oder ein anderer Sammlungstyp sein. Da ist ein Array in JSON. –