JSON 反序列化结果中出现奇怪的内容



给定此请求 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;

最新更新