Ist es möglich, ein "ISODate" -Feld von MongoDB zu einem JToken (C #) zu deserialisieren?

8

Umfang:

Ich schreibe ein Set von Tools , um Leuten zu helfen, gemeinsame Operationen in ihren MongoDB-Datenbanken auszuführen, und "Exportieren" von Daten ist einer von ihnen.

Momentan unterstütze ich vollen JSON-Export und "CSV", aber letzteres ist viel schwieriger.

Das Export-Tool ermöglicht eine "ConfigFile", die angibt, welche Felder deserialisiert werden (aus einem BsonDocument ), kümmert sich nicht um ihren Typ. Die meisten Typen arbeiten gerade, aber "ISO" Termine bereiten mir immer noch Kopfzerbrechen.

Dynamische Deserialisierung

Momentan verlasse ich mich auf JObjects , um das Parsen der "Json" -Dokumente zu bearbeiten, genau so:

%Vor%

Das Problem:

Dieser Code funktioniert für alle Typen, die ich bisher getestet habe, aber "DateTime". MongoDB speichert wie folgt: "PublicationDate" : ISODate("2014-08-10T00:00:00.000Z") , was meine Deserialisierung komplett unterbricht.

Ich habe versucht, es als "DateTime" und als "Object" zu deserialisieren, aber beide funktionieren nicht. Gibt es einen geeigneten Weg, dies zu tun? Dies ist im Grunde alles, was ich vermisse, damit dieser "Dynamische Exporter" funktioniert.

Vielen Dank im Voraus

    
Marcello Grechi Lins 14.04.2015, 15:02
quelle

1 Antwort

0

try catch kann eine schlechte Lösung sein, um iso datetime abzufangen? Wie JTokenType.Date .

%Vor%     
fatihyildizhan 21.11.2015 10:16
quelle