Ho il seguente JSON ritorno da un servizio JavaJSON.NET Radice e deserializzazione
{"Test":{
"value": 1,
"message": "This is a test"
}}
Ho la seguente classe C#
class Test {
public int value { get; set; }
public String message { get; set; }
}
Tuttavia, perché il tag radice "Test" è restituito non posso deserializzare direttamente questo con
Test deserializedTest = JsonConvert.DeserializeObject<Test>(jsonString);
trovo devo avvolgere la classe di test all'interno di un altro classe per farlo funzionare. C'è un modo semplice per evitare questo diverso da
JToken root = JObject.Parse(jsonString);
JToken testToken = root["Test"];
Test deserializedTest = JsonConvert.DeserializeObject<Test>(testToken.toString());
Finalmente ho una seconda domanda. La maggior parte dei servizi che sto chiamando possono restituire anche un oggetto Exception. Ho pensato di leggere il tag "root" del JSON per determinare come deserializzare l'oggetto. Come posso ottenere il primo tag root e/o esiste un metodo migliore e più elegante per gestire le eccezioni da un servizio?
Grazie
Penso che questo potrebbe funzionare correttamente se lo faccio oggetto generico (per l'oggetto Test). Questo è un modo molto semplice per analizzare uno o gli altri oggetti. Grazie – Shaun