我想知道如何在ServiceStack中使用自定义的JSON序列化程序。我知道JsConfig.SerializeFn/DeSerializeFn,但这些似乎总是'JSON.stringify'我的自定义串行器的结果。如何在ServiceStack中使用自定义的JSON序列化程序?
我喜欢替换整个DTO的序列化。该endresult应该像
{"Name":"Greg"}
,而不是
"{\"Name\":\"Greg\"}"
这可能吗?
我想知道如何在ServiceStack中使用自定义的JSON序列化程序。我知道JsConfig.SerializeFn/DeSerializeFn,但这些似乎总是'JSON.stringify'我的自定义串行器的结果。如何在ServiceStack中使用自定义的JSON序列化程序?
我喜欢替换整个DTO的序列化。该endresult应该像
{"Name":"Greg"}
,而不是
"{\"Name\":\"Greg\"}"
这可能吗?
您的意思是使用ServiceStack.Text.JsonSerializer.SerializeToString(object, typeof(object))
?如果您在.net的视图中使用它,则可能需要使用Html.Raw(ServiceStack.Text.JsonSerializer.SerializeToString(object, typeof(object)))
。
在ServiceStack's JSON Serializers其他钩子方面还有JsConfig<T>.RawSerializeFn
和JsConfig<T>.RawDeserializeFn
应该做你所需要的。
否则,如果您只是想要进行一些前/后处理,那么还有JsConfig<T>.OnSerializingFn
和JsConfig<T>.OnDeserializedFn
自定义挂钩。