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

asp.net怎么对json数组反序列化
JSON格式如下:[{"ID":"1","Name":"zs","Age":24},
{"ID":"2","Name":"ls","Age":28},
{"ID":"3","Name":"ww","Age":20}
]
我按网上的方法:
 public T Deserialize<T>(string content) 
   { 
       return (T)Deserialize(typeof(T), content);
   }
    public object Deserialize(Type t, string content)
    { 
        object result = null;
        using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(content)))
    { 
            DataContractJsonSerializer serializer = new DataContractJsonSerializer(t);
            result = serializer.ReadObject(ms); 
        } 
        return result;
    }
这样取不到任何值; 以述方法只对{"ID":"2","Name":"ls","Age":28}这样单独一条起作用,并且不能是
[{"ID":"2","Name":"ls","Age":28}]这种格式;大家有什么好方法反序列化JSON数组?

------解决方案--------------------
不知道楼主为什么要反序列化,但可以看看这个
------解决方案--------------------
用 Newtonsoft.Json.dll 去解析json
------解决方案--------------------
反序列化要返回数组啊!

实在不行用Json.Net 自己写个反序列化类
------解决方案--------------------
楼主确定你的项目中需要返回多行json吗?我以前写只要返回一行就好了