如何使Json.Net序列化Dictionary <string,object>保留类型信息?

我想序列化Dictionary<string,object>并保留object的类型信息。但是Json.Net不能按预期工作。

var d = new Dictionary<string,object>();
d["A"] = 1;
d["B"] = (Int16)2;
d["C"] = (byte)3;
d["D"] = SomeEnum.EnumValue;
d["E"] = true;
d["F"] = "string";

WriteToFile("xxx.json" JsonConvert.SerializeObject(d));

d = JsonConvert.DeserializeObject<string,object>(ReadFromFile("xxx.json"));
// d["A"] is long (Int64),expect Int32
// d["B"] is long (Int64),expect Int16
// d["C"] is long (Int64),expect byte
// d["D"] is long (Int64),expect SomeEnum.EnumValue

如何反序列化为原始类型?

godkid5201314 回答:如何使Json.Net序列化Dictionary <string,object>保留类型信息?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3140441.html

大家都在问