Uso felizmente el Newtonsoft JSON library. Por ejemplo me gustaría crear un JObject
de un objeto .NET, en este caso un ejemplo de excepción (puede o no ser una subclase)Cómo deserializar un JObject al objeto .NET
if (result is Exception)
var jobjectInstance = JObject.FromObject(result);
ahora sé la biblioteca puede deserializar texto JSON (es decir, una cadena de) a un objeto
// only works for text (string)
Exception exception = JsonConvert.DeserializeObject<Exception>(jsontext);
pero lo que estoy buscando es:
// now i do already have an JObject instance
Exception exception = jobjectInstance.????
Bueno, está claro que puedo ir desde lo JObject
volvemos al texto JSON y luego usamos la funcionalidad deserializar, pero eso me parece retroactivo.
¿Alguna idea sobre las implicaciones de rendimiento aquí? ¿La reflexión se usará todo el tiempo? –
¿Es posible hacer esto con un JsonConverter personalizado? –
Gracias por la pista. Me ayudó mucho. Déjame agregar algo: en un método genérico donde estoy usando el tipo 'T', requiero algo como' result = (value es JObject)? ((JObject) value) .ToObject(): (T) default (T); 'para convertirlo con éxito (note -' value' es un objeto procedente de una base de datos que podría ser un JObject o algo más, en cuyo caso el resultado debería ser nulo). –
Matt