类型不可用时跳过反序列化(未引用)

时间:2013-05-06 17:13:21

标签: c# json.net deserialization json-deserialization

我有一些json是通过使用json.net序列化在dll中找到的类型生成的,我们不再引用它。 json是使用TypeNameHandling.Objects设置生成的,所以它试图明确加载该类型。

现在我正在尝试反序列化json(它实际上嵌入了更大的json有效负载,它将反序列化为Dictionary<string, object>)。因为我们不再引用所需的类型,json.net正在抛出JsonSerializationException。我希望json.net对该字典值使用空白new object()null(而不是抛出异常)。这将允许我访问字典的其余部分并继续我的快乐方式。这可能吗?

这是序列化json的一个例子:

{
    "first-key":"first-value",
    "second-key":{
        "$type:"Unavailable.Type, Unavailable.Assembly",
        "properties":"values",
        // etc...
    },
    "other keys","other values",
    // etc...
}

我希望反序列化的词典看起来像这样:

new Dictionary<string,object>
{
    { "first-key": "first-value" },
    { "second-key": null }, // or new object()
    { "other keys": "other values",
    // etc...
}

0 个答案:

没有答案