使用constructor和servicestack反序列化json
本文关键字:反序列化 json servicestack constructor 使用 | 更新日期: 2023-09-27 18:22:27
我有一个不可变的对象,我使用servicestack的框架将其序列化为json。现在我想将这个json字符串反序列化为实际对象。但我的对象是不可变的。
有没有办法告诉servicestackjson反序列化程序使用构造函数?我不想在我的属性中添加公共集。
我找到了一种使用Newtonking Json Deserializer的方法,但在servicestack中有等效的方法吗?http://james.newtonking.com/projects/json/help/index.html?topic=html/T_Newtonsoft_Json_JsonConstructorAttribute.htm
感谢
我不知道有什么简单的配置可以实现这一点,但您可以很容易地编写一个自定义反序列化程序:
JsConfig<MyRequestClass>.DeSerializeFn = jsonString => {
var obj = JsonObject.Parse(jsonString);
return new MyRequestClass(obj.Get("PropertyA"), obj.Get("PropertyB"), ...);
}
请参阅此相关答案以了解更多信息。