Uso felicemente lo Newtonsoft JSON library. Per esempio vorrei creare un JObject
da un oggetto .NET, in questo caso un'istanza di eccezione (potrebbe o non potrebbe essere una sottoclasse)Come deserializzare un oggetto JObject su .NET
if (result is Exception)
var jobjectInstance = JObject.FromObject(result);
Ora conosco la libreria può deserializzare testo JSON (cioè una stringa) a un oggetto
// only works for text (string)
Exception exception = JsonConvert.DeserializeObject<Exception>(jsontext);
ma quello che sto cercando è:
// now i do already have an JObject instance
Exception exception = jobjectInstance.????
Beh, è chiaro che io posso andare da sulla JObject
di nuovo al testo JSON e quindi utilizzare la funzionalità deserialize, ma che sembra indietro per me.
Qualche idea sulle implicazioni di performance qui? La riflessione sarà usata ogni volta? –
È possibile farlo con un JsonConverter personalizzato? –
Grazie per il suggerimento. Mi ha aiutato molto. Lasciatemi aggiungere qualcosa: in un metodo generico in cui sto usando il tipo 'T', ho richiesto qualcosa come' risultato = (valore è JObject)? ((JObject) value) .ToObject(): (T) default (T); 'per convertirlo con successo (nota -' value' è un oggetto proveniente da un database che potrebbe essere un JObject o qualcos'altro nel qual caso risultato dovrebbe essere nullo). –
Matt