datacontractjsonserializer

___ answer9266725 ___

Wenn %code% kein muss ist, verwenden Sie Json.Net .

%Vor%

Dies ist die Json-Zeichenfolge

%Vor%

und zurückgegebene Typen sind %code% , %code% , %code% , %code% und %code%

    
___ answer9312282 ___

Sie könnten DateTime.Now vor der Serialisierung und der Konvertierung in eine Zeichenfolge konvertieren wandle es nach der Deserialisierung zurück in DateTime .

Umwandlung in Zeichenfolge durch:

%Vor%

Konvertierung zurück in DateTime nach der Deserialisierung:

%Vor%

Also wäre der ganze Code wie folgt:

%Vor%     
___ answer9347678 ___

Das scheint sehr merkwürdiges Verhalten zu sein, ich vermute, dass es von DateTime stammt, das kein Typ ist, der in JSON erkannt wird. Sie können jedoch Ihr eigenes IDataContractSurrogate rollen, um den Serialisierungs- / Deserialisierungsprozess zu ändern.

Um dies zu verwenden, modifizieren Sie Ihren Beispielcode, wenn Sie den Serializer dafür erstellen:

%Vor%

Fügen Sie dann diese Klasse hinzu:

%Vor%     
___ answer22546727 ___

In der .NET Framework-Version 4.5 hat die %code% einen Konstruktor, der ein %code% -Objekt akzeptiert, mit dem %code% :

gesetzt werden kann %Vor%     
___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert. ___ qstnhdr ___ DataContractJsonSerializer - Deserialisierung von DateTime innerhalb von Listobject ___ qstntxt ___

Ich habe Probleme mit der %code% class zum Deserialisieren von DateTime-Instanzen, die in einem %code% enthalten sind. Ich kann DateTime scheinbar nicht wieder in den ursprünglichen Typ deserialisieren. Das %code% deserialisiert es immer in einen String-Typ mit dem Format %code% . Es wird serialisiert und deserialisiert, wenn ich es mit einem stark typisierten %code% durchführe, aber ich suche nach einer Möglichkeit, den Serializer zu veranlassen, DateTimes zu identifizieren und richtig zu deserialisieren, wenn er in einer einfachen Liste oder einem Array von %code% / p>

Beachten Sie, dass DateTimes der einzige Typ neben Primitiven und Strings sind, die diese Liste jemals enthält. Hier ist das Code-Snippet, mit dem ich das teste.

%Vor%     
___ tag123json ___ JSON (JavaScript Object Notation) ist ein Textdatenaustauschformat und sprachunabhängig. Verwenden Sie dieses Tag, wenn dieses Textformat beteiligt ist. VERWENDEN SIE DIESEN TAG NICHT FÜR NATIVE JAVASCRIPT-OBJEKTE ODER JAVASCRIPT OBJECT LITERALS. Bevor Sie eine Frage stellen, wenn Sie glauben, dass Ihre JSON-Datei gültig ist, überprüfen Sie sie bitte in einem JSON-Validator wie JSONLint, damit Ihre Frage beantwortet wird, bevor Sie sie stellen. ___ tag123datactractjsonserializer ___ DataContractJsonSerializer ist eine .NET-Komponente, die es ermöglicht, .NET-Objekte direkt in JSON-Daten zu serialisieren und diese Daten in Instanzen von .NET-Typen zu deserialisieren. ___
4
Antworten

DataContractJsonSerializer - Deserialisierung von DateTime innerhalb von Listobject

Ich habe Probleme mit der System.Runtime.Serialization.Json.DataContractJsonSerializer class zum Deserialisieren von DateTime-Instanzen, die in einem List<object> enthalten sind. Ich kann DateTime scheinbar nicht wieder in den ursp...
13.02.2012, 19:10