日期:2014-05-17  浏览次数:20862 次

反序列化问题
本帖最后由 c_hello_world 于 2013-07-07 21:11:20 编辑
我用下面一段代码对JSON数据进行反序列化:

        public MainPage()
        {
            InitializeComponent();
            StreamResourceInfo stream = App.GetResourceStream(new Uri("Resources/heropediadata.json", UriKind.Relative));
            StreamReader reader = new StreamReader(stream.Stream);
            string content = Regex.Unescape(reader.ReadToEnd());
            List<ItemDataModel> itemData = UtilityJsonHelper.JsonString2Obeject<List<ItemDataModel>>(content);
        }

结果报错了,求分析错误原因,并提供解决思路或者方案?

PS:
1:heropediadata.json的文件可以从

http://www.dota2.com/jsfeed/heropediadata?feeds=itemdata

这个URL获取。
2:报错提示为:Unexpected character encountered in JSON. Expected ',', got 'a'. (389):
3:ItemDataModel为

[DataContract]
    public class ItemDataModel
    {
        //物品ID
        [DataMember(Name="id")]
        public int ItemId { get; set; }

        //物品名称
        [DataMember(Name = "dname")]
        public string ItemName { get; set; }

        //物品图片
        [DataMember(Name = "img")]
        public string ItemPicName { get; set; }

        //暂定??
        [DataMember(Name = "qual")]
        public string ItemComponent { get; set; }

        //物品价格
        [DataMember(Name = "cost")]
        public int ItemCost { get; set; }