Ich habe einen Ausschnitt aus JSON, das wie folgt aussieht:Deserialize malformed JSON mit JSON.NET
{"123":{"name":"test","info":"abc"}}
Die 123
ist eine ID und kann auf jede Anforderung ändern. Das ist außerhalb meiner Kontrolle.
Ich möchte das JSON mit JSON.NET Deserialisieren. Ich habe versucht:
[JsonProperty("123")]
public string ID { get; set; }
Aber natürlich kann ich nicht wirklich das tun, weil die ID 123
bei jeder Anfrage ändert:
User u = JsonConvert.DeserializeObject<User>(json);
Dies ist jedoch nicht, wenn ich das JsonProperty
Attribut wie so definieren funktioniert .
Wie kann ich die ID-Eigenschaft mit JSON.NET lesen und auf die ID-Klasse anwenden?
Es würde mit einem 'KeyValuePair' funktionieren. Sie könnten versuchen, es in einem temporären "Objekt" -Puffer zu deserialisieren und es dann Ihrer "User" -Instanz zuzuordnen. –
Es ist nicht missgebildet; nur ungeschickt geformt. Im Grunde ist es ein KVP von, wo Benutzer Eigenschaften 'Name' und 'Info' hat –
Ich dachte, in Ihrer Klassenstruktur muss RootObject erster Klasse definiert werden. In der Klasse Rootobject müssen Sie alle json-Attribute als get-set-Methode deklarieren. –