Ich habe eine JSON, die als 2012-06-07T00:29:47.000
Datum hat und deserialisiert werden muss. Aber aufDataContractJsonSerializer Parsing ISO 8601 Datum
DataContractJsonSerializer serializer = new DataContractJsonSerializer(type);
return (object)serializer.ReadObject(Util.GetMemoryStreamFromString(json));
I unten Ausnahme erhalten
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
Es wird in Windows Mobile 7 arbeiten, aber der gleiche Code funktioniert nicht in Windows 8.
Es wird das Datumsformat als \/Date(1337020200000+0530)\/
erwartet statt von 2012-06-07T00:29:47.000
.
Benötigt es benutzerdefinierte Serialisierung wenn ja dann wie? Und ich kann JSON.NET
nicht verwenden Ich bin verpflichtet, DataContractJsonSerializer
zu verwenden, und ich kann das Format des JSON nicht ändern, da das gleiche JSON für Android verwendet wird.
Ich bin neu in .net. Danke.
Was ist der Datumsformatierer für '2012-06-07T00: 29: 47.000' Ich habe dieses' yyyy 'erstellt -' MM '-' dd'T'HH ':' mm ':' ss 'aber nicht' t wissen, was mit '.000' zu tun ist –
@InderKumarRathore Sie können' f' verwenden, zB 'jjjj '-' MM '-' dd'T'HH ':' mm ':' ss '.' fff '. Aber der [Standard Format Specifier] (http://msdn.microsoft.com/en-us/library/az4se3k1.aspx) von 'o' ist [ziemlich nah daran] (http://msdn.microsoft.com) /en-us/library/az4se3k1.aspx#Roundtrip), obwohl es eine Zeitzone enthält, wenn DateTime.Kind 'Utc' oder' Local' ist. – shambulator
danke für deinen Vorschlag, es funktioniert. :) –