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