给定此请求 DTO
public class CreateRecordRequest {
public Dictionary<string, object> Record { get; set; }
}
当我调用传递此 JSON 的服务时
{
"Record": {
"File": {
"name": "DSC_3493_4_5.jpg",
"extension": ".jpg",
"size": 596002,
"rawFile": {}
},
"Notes": "",
"Type": ""
}
}
File
具有反序列化值"{"
。由于ServiceStack无法知道File
映射到哪个对象,我很好奇为什么它不将其反序列化为字典("{"
令人费解)。像这样自定义单个值的反序列化的最简单方法是什么?我正在使用剑道的上传控件,这是它提交的 JSON。
因为它是序列化程序不知道将其脱水成什么类型的object
,所以您可以强制它使用Dictionary<string,string>
:
JsConfig.ConvertObjectTypesIntoStringDictionary = true;