Utilizzando Json.net (Newtonsoft.json), come posso definire una classe (o classi) C# per gestire il json qui sotto?JSON a C# - elenca i campi senza nomi di sottocampo in json?
Il campo "dati" sembra essere un elenco di sottocampi di livello/descrizione ma si noti che sono non preceduti dai nomi dei campi.
Il campo "errore" sembra essere un elenco di campi secondari errore-numero/errore-messaggio, ma si noti che anch'essi sono non preceduti dai nomi dei campi.
{
"status": "error",
"data": [
{
"warning" : "your input was wrong"
}
],
"error": [
{
"373": "Error description goes here"
}
]
}
Questa definizione di classe non genera errori di analisi; tuttavia il contenuto di Dati ed errori non è corretto.
public class ApiResponse
{
[JsonProperty(PropertyName = "status")]
public string Status;
[JsonProperty(PropertyName = "data")]
public IEnumerable<KeyValuePair<string, string>> Data;
[JsonProperty(PropertyName = "error")]
public IEnumerable<KeyValuePair<int, string>> Errors;
};
// this doesn't throw a parsing exception, but the resulting
// Data and Errors fields are not correctly populated.
var x = JsonConvert.DeserializeObject<ApiResponse>(SampleJson);
Qualsiasi aiuto sarebbe apprezzato, grazie.
Questo potrebbe aiutarvi: http://stackoverflow.com/questions/27744199/converting-array-to-ienumerablet –