2013-11-03 3 views
5

Wie kann ich steuern, um die Serialisierung/Deserialisierung von benutzerdefinierten Typen (wie NodaTime.LocalDateTime) mit ServiceStack.Text?Was ist der ServiceStack.Text-Äquivalent Json.NET-Wandler, beispielsweise wenn sie auf NodaTime Typen angewendet?

Json.NET bietet hierfür Converters, so dass jedes Mal, wenn eine Klasse einen benutzerdefinierten Typ enthält, der entsprechende benutzerdefinierte Serializer/Deserializer verwendet wird. Zum Beispiel kann eine Eigenschaft des Typs NodaTime.LocalDateTime mit benutzerdefinierten Methoden in eine Zeichenfolge und von einer Zeichenfolge konvertiert werden.

In db4o würde IObjectConstructor als eine ähnliche Übersetzungsschicht fungieren, um einen Typ in einen anderen zu konvertieren, bevor es beibehalten wird (LocalDateTime könnte in DateTime konvertiert werden).

Antwort

5

sollten Sie JsConfig<T>.RawSerializeFn und JsConfig<T>.RawDeserializeFn Eigenschaften verwenden.

JsConfig<NodaTime.LocalDateTime>.RawSerializeFn = dateTime => { 
                 //your implemetation 
                } ; 
+0

ausgezeichnet, danke! –

Verwandte Themen