【发布时间】:2016-09-01 19:57:15
【问题描述】:
我正在尝试下载其中一个属性为 "easting" 的 json 数据。对于大部分 json 数据集,"easting" 是一个整数,但也有少数情况"easting" 是一个整数列表,如下所示:
"easting" : 357570 ,
...
"easting" : [ 434939, 434942 ] ,
当 "easting" 的类声明如下时,我的原始代码预计 int:
public class Item
{
public int easting { get; set; }
}
但是,我不断收到错误消息,提示我无法将类型 int 转换为类型 int []。如果我调整类定义以允许easting 的类型为int [],我只会得到相反的错误——我无法将类型int [] 转换为类型int。
我该如何处理这个问题?有没有办法在反序列化过程中解释不同的输入数据类型?
【问题讨论】:
-
你能用动态吗?看看这个:stackoverflow.com/questions/30147272/…
-
如果您使用的是 Json.net,那么这是 this question 的副本
-
@stuartd 我目前正在使用来自
System.Web.Script.Serialization的JavaScriptSerializer,尽管我可能会尝试切换到Json.net,因为该示例看起来确实很简单。谢谢。
标签: c# json json.net deserialization json-deserialization