Come si può serializzare un oggetto direttamente su un'istanza JObject
in JSON.Net? Ciò che è tipicamente fatto è quello di convertire l'oggetto direttamente a un JSON stringa in questo modo:Serializzare un oggetto direttamente su un JObject anziché su una stringa in json.net
string jsonSTRINGResult = JsonConvert.SerializeObject(someObj);
Si potrebbe quindi deserialize che di nuovo ad un JObject
come segue:
JObject jObj = JsonConvert.DeserializeObject<JObject>(jsonSTRINGResult);
Che sembra lavoro, ma sembrerebbe che questo modo abbia un doppio risultato in termini di prestazioni (serializza e poi deserializza). SerializeObject
utilizza internamente un JObject
a cui è possibile accedere in qualche modo? O c'è un modo per serializzare direttamente direttamente su un JObject
?
Perché si desidera lavorare con un JObject nel codice rispetto al tipo/classe nativi? –
http://www.newtonsoft.com/json/help/html/M_Newtonsoft_Json_Linq_JObject_FromObject.htm – Eser
In breve, consente a Json.Net di occuparsi di tutte le operazioni di serializzazione difficile, permettendomi di fare alcune cose che voglio fare con il risultato finale della serializzazione, che non sarà di JSON. Se vuoi sapere (anche se questo è irrilevante per il problema specifico), voglio serializzare su XML in modo che gli attributi siano usati per le proprietà invece degli elementi figlio XML, come fa il serializzatore XML JSON.Net (comprensibilmente), forse alcune altre personalizzazioni. –