关于.NET读取Json的有关问题
关于.NET读取Json的问题
Json数据
报错Cannot deserialize the current JSON array (e.g. [1,2,3])
请问为什么报错?应该如何抓取到所有数据。最好能有代码,初次学习JSON。
------解决思路----------------------
spec是集合或者数组,你写成了单个对象
Json数据
[{"year":"2016款","maxlen":32,spec:[{"id":23839,"name":"2016款 35 TFSI 自动运动型"},{"id":23922,"name":"2016款 30 TFSI 手动舒适型"},{"id":23923,"name":"2016款 30 TFSI 自动舒适型"},{"id":23924,"name":"2016款 35 TFSI 自动标准型"},{"id":23925,"name":"2016款 35 TFSI 自动舒适型"},{"id":23926,"name":"2016款 35 TFSI 自动技术型"},{"id":23927,"name":"2016款 35 TFSI 自动豪华型"},{"id":23928,"name":"2016款 45 TFSI quattro个性运动型"},{"id":23929,"name":"2016款 45 TFSI quattro运动型"}]},{"year":"2015款","maxlen":32,spec:[{"id":19485,"name":"2015款 30 TFSI 手动舒适型"},{"id":19486,"name":"2015款 30 TFSI 自动舒适型"},{"id":19487,"name":"2015款 35 TFSI 自动标准型"},{"id":19488,"name":"2015款 35 TFSI 自动舒适型"},{"id":19489,"name":"2015款 35 TFSI 自动技术型"},{"id":19490,"name":"2015款 35 TFSI 自动豪华型"},{"id":19491,"name":"2015款 45 TFSI quattro个性运动型"},{"id":19492,"name":"2015款 45 TFSI quattro运动型"},{"id":19493,"name":"2015款 50 TFSI quattro旗舰型"},{"id":22889,"name":"2015款 35 TFSI 百万纪念智领型"},{"id":22890,"name":"2015款 35 TFSI 百万纪念舒享版型"}]},{"year":"2013款","maxlen":32,spec:[{"id":13515,"name":"2013款 35 TFSI 自动标准型"},{"id":13521,"name":"2013款 30 TFSI 手动舒适型"},{"id":13522,"name":"2013款 30 TFSI 自动舒适型"},{"id":13523,"name":"2013款 35 TFSI 自动舒适型"},{"id":13524,"name":"2013款 35 TFSI 自动技术型"},{"id":13525,"name":"2013款 35 TFSI 自动豪华型"},{"id":13526,"name":"2013款 40 TFSI quattro运动型"},{"id":13527,"name":"2013款 50 TFSI quattro旗舰型"},{"id":16957,"name":"2013款 40 TFSI quattro个性运动型"}]},{"year":"2012款","maxlen":26,spec:[{"id":10760,"name":"2012款 1.8 TFSI 手动舒适型"},{"id":10761,"name":"2012款 1.8 TFSI 自动舒适型"},{"id":10762,"name":"2012款 2.0 TFSI 自动标准型"},{"id":10763,"name":"2012款 2.0 TFSI 自动舒适型"},{"id":10764,"name":"2012款 2.0 TFSI 自动技术型"},{"id":10765,"name":"2012款 2.0 TFSI 自动豪华型"},{"id":10766,"name":"2012款 2.0 TFSI 自动运动型"},{"id":10767,"name":"2012款 2.0 TFSI 自动尊享型"}]},{"year":"2011款","maxlen":29,spec:[{"id":8575,"name":"2011款 1.8 TFSI 舒适型"},{"id":8578,"name":"2011款 2.0 TFSI 标准型"},{"id":8579,"name":"2011款 2.0 TFSI 舒适型"},{"id":8580,"name":"2011款 2.0 TFSI 技术型"},{"id":8581,"name":"2011款 2.0 TFSI 豪华型"},{"id":8583,"name":"2011款 2.0 TFSI 运动型"},{"id":8584,"name":"2011款 2.0 TFSI 尊享型"},{"id":8585,"name":"2011款 3.2 FSI quattro 旗舰型"}]},{"year":"2010款","maxlen":29,spec:[{"id":5863,"name":"2010款 1.8 TFSI 舒适型"},{"id":5864,"name":"2010款 2.0 TFSI 运动型"},{"id":5886,"name":"2010款 2.0 TFSI 标准型"},{"id":5887,"name":"2010款 2.0 TFSI 舒适型"},{"id":5888,"name":"2010款 2.0 TFSI 技术型"},{"id":5889,"name":"2010款 2.0 TFSI 豪华型"},{"id":5890,"name":"2010款 3.2 FSI quattro 旗舰型"}]},{"year":"2009款","maxlen":29,spec:[{"id":4637,"name":"2009款 2.0 TFSI 标准型"},{"id":4639,"name":"2009款 3.2 FSI quattro 旗舰型"},{"id":4640,"name":"2009款 2.0 TFSI 豪华型"},{"id":4641,"name":"2009款 2.0 TFSI 舒适型"},{"id":4642,"name":"2009款 2.0 TFSI 技术型"}]}]
List<JobInfo> parentModel = JsonConvert.DeserializeObject<List<JobInfo>>(json);
public class JobInfo
{
public String year { get; set; }
public int maxlen { get; set; }
public specInfo spec { get; set; }
}
[Serializable]
public class specInfo
{
public int id { get; set; }
public string name { get; set; }
}
报错Cannot deserialize the current JSON array (e.g. [1,2,3])
请问为什么报错?应该如何抓取到所有数据。最好能有代码,初次学习JSON。
------解决思路----------------------
spec是集合或者数组,你写成了单个对象