Tengo un json que tiene la fecha como 2012-06-07T00:29:47.000
y tiene que ser deserializado. Pero en DataContractJsonSerializer análisis iso 8601 fecha
DataContractJsonSerializer serializer = new DataContractJsonSerializer(type);
return (object)serializer.ReadObject(Util.GetMemoryStreamFromString(json));
llego a continuación excepción
There was an error deserializing the object of type System.Collections.Generic.List`1
[[MyNameSpace.MyClass, MyNameSpace, Version=1.0.4541.23433, Culture=neutral, PublicKeyToken=null]].
DateTime content '2012-06-07T00:29:47.000' does not start with '\/Date(' and end with ')\/' as required for JSON
Se está trabajando en Windows Mobile 7 pero el mismo código no funciona en Windows 8.
Se espera que el formato de fecha en lugar \/Date(1337020200000+0530)\/
de 2012-06-07T00:29:47.000
.
¿Requiere serialización personalizada si es así, cómo? Y no puedo usar JSON.NET
Estoy obligado a usar DataContractJsonSerializer
y no puedo cambiar el formato de JSON ya que se usa el mismo JSON para Android.
Soy nuevo en .net. Gracias.
¿Cuál es el formateador de fecha para '2012-06-07T00: 29: 47.000' He creado este' yyyy '-' MM '-' dd'T'HH ':' mm ':' ss' pero don ' t sabe qué hacer con '.000' –
@InderKumarRathore Puede usar' f', por ejemplo 'yyyy '-' MM '-' dd'T'HH ':' mm ':' ss '.' fff'. Pero el [especificador de formato estándar] (http://msdn.microsoft.com/en-us/library/az4se3k1.aspx) de 'o' es [bastante cercano a eso ya] (http://msdn.microsoft.com /en-us/library/az4se3k1.aspx#Roundtrip), aunque incluirá un huso horario si DateTime.Kind es 'Utc' o' Local'. – shambulator
gracias por su sugerencia de que está funcionando. :) –