我在使用 DataContractJsonSerializer 类反序列化混合类型的 JSON 数组时遇到问题。我花了很多时间寻找无济于事的解决方案,所以我想我会继续在这里问。
基本上,我得到一个如下所示的 JSON 字符串。我想让数组反序列化为一个列表,其中位置 0 具有 Int32,位置 1 具有字符串,位置 2 具有我的自定义类的实例。
[
2,
"Mr. Smith",
{
"num":169,
"name":"main street",
"state":66
}
]
如果我只是像这样创建一个序列化:
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(List<object>))
实际上,我在位置 0 处得到一个 Int32,在位置 1 处得到一个字符串。但是在位置 2 处,我只得到一个空对象。
有谁知道我正在尝试做的事情是否可能?我无法控制我正在使用的 JSON 的结构。如果可能,我想在不使用第三方程序集的情况下完成此操作。