【发布时间】:2016-10-19 23:05:53
【问题描述】:
假设我们有一个像这样的对象[]:
int Num = 3;
string Str = "test";
MyClass Obj = new MyClass();
object[] data = new object[] {Num, Str, Obj};
我可以很容易地序列化它
string json = JsonConvert.SerializeObject(data);
但是如果我反序列化它
object[] deserializedData = JsonConvert.DeserializeObject<object[]>(json);
然后最初是“int”类型的deserializedData[0]变成“long”, 最初属于“MyClass”类型的 deserializedData[2] 变成了 JObject。
有没有办法告诉反序列化器在 object[] 的每个索引处期望什么对象类型?
我对创建用于序列化/反序列化的包装类不感兴趣。当我们已经知道结构时,我需要知道是否可以预定义 object[] 的“类型结构”。
【问题讨论】:
标签: c# json serialization json.net deserialization