我想序列化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
如何反序列化为原始类型?