La siguiente clase no se deserializa (pero sí se serializa) usando System.Web.Script.Serialization.JavaScriptSerializer
.No se puede deserializar un KeyValuePair que se puede anular desde JSON con ASP.NET AJAX
public class foo {
public KeyValuePair<string, string>? bar {get;set;}
}
El intento de deserializar los resultados en un System.NullReferenceException
cuando System.Web.Script.Serialization.ObjectConverter.ConvertDictionaryToObject
llega a la propiedad bar
. (Tenga en cuenta que es una suposición basada en el seguimiento de la pila).
Al cambiar el tipo de propiedad a KeyValuePair<string,string>
se soluciona el problema, pero me gustaría conservar el tipo Nullable
si es posible.
El JSON es exactamente lo que cabría esperar:
{"foo": {
"bar": {
"Key":"Jean-Luc",
"Value":"Picard"
}
}}
Ayuda?
La deserialización para KeyValuePair no soluciona el error anterior, pero en realidad da como resultado dos cadenas vacías para el par. es decir, la deserialización da como resultado la pérdida de datos. ¡Así que el JSON anterior se convierte en un KeyValuePair de [,]! –
Noel