Ho un frammento di JSON che assomiglia a questo:Deserialize JSON malformati con JSON.NET
{"123":{"name":"test","info":"abc"}}
Il 123
è un ID e può cambiare a ogni richiesta. Questo è al di fuori del mio controllo.
Desidero deserializzare il JSON utilizzando JSON.NET. Ho provato:
User u = JsonConvert.DeserializeObject<User>(json);
Tuttavia, questo non funziona a meno che io definisco l'attributo JsonProperty
in questo modo:
[JsonProperty("123")]
public string ID { get; set; }
Ma ovviamente non posso effettivamente fare questo perché l'ID 123
cambierà a ogni richiesta .
Come posso leggere la proprietà ID utilizzando JSON.NET e applicarlo alla classe ID?
Funzionerebbe con un 'KeyValuePair'. Si può provare a deserializzarlo in un buffer 'object' temporaneo e quindi associarlo all'istanza' User'. –
Non è malformato; appena formato goffamente. Fondamentalmente si tratta di un KVP di in cui l'utente ha proprietà 'nome' e 'info' –
Ho pensato, Nella tua classe, la struttura deve essere definita di prima classe RootObject. Nella classe Rootobject, devi dichiarare tutto l'attributo json come metodo get set. –