我有一些 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...
}