使用带有servicestack的construtor反序列化json

时间:2013-07-14 18:27:22

标签: c# servicestack

我有一个不可变的对象,我使用servicestack的框架序列化为json。现在我想将这个json字符串反序列化为真实对象。但我的目标是不可改变的。

有没有办法告诉servicestack json反序列化器使用构造函数?我不想在我的属性中添加公共集。

我找到了一种使用Newtonking Json Deserializer的方法,但是在servicestack中是否存在等价物? http://james.newtonking.com/projects/json/help/index.html?topic=html/T_Newtonsoft_Json_JsonConstructorAttribute.htm

由于

1 个答案:

答案 0 :(得分:2)

我不知道会启用这个的简单配置,但你可以很容易地写一个自定义反序列化器:

JsConfig<MyRequestClass>.DeSerializeFn = jsonString => {
    var obj = JsonObject.Parse(jsonString);
    return new MyRequestClass(obj.Get("PropertyA"), obj.Get("PropertyB"), ...);
}

有关详细信息,请参阅this related answer