使用 .NET 4.5 版本的DataContractJsonSerializer和DataContractJsonSerializerSettings.UseSimpleDictionaryFormat我可以序列化字典。因此,例如这本字典:
var dic = new Dictionary<string, object>
{
{ "Level", 3 },
{ "Location", "Catacomb" }
};
将被转换成漂亮的 JSON:
{
"Level":3,
"Location":"Catacomb"
}
但是,如果我有另一个字典作为值:
var dic = new Dictionary<string, object>
{
{ "Level", 3 },
{ "Location", new Dictionary<string, object>
{
{ "Name", "Catacobms" }
}
}
};
结果 JSON 看起来很糟糕:
{
"Level":3,
"Location":[
{
"__type":"KeyValuePairOfstringanyType:#System.Collections.Generic",
"key":"Name",
"value":"Catacobms"
}
]
}
有没有办法解决这个问题?
PS:我知道还有其他好的 JSON 序列化器,但是在这种情况下我需要使用DataContractJsonSerializer。