现在公司做接口经常性会碰到接收json传输,但是简单的Json传输只要作一个简单的反序列化就行,其实也就是一句代码
////// 据json字符串返回对应对象 /// ///json字符串对应的对象 /// json字符串 ///转换后的对象 private T GetResult(string strJson) { return (T)(new DataContractJsonSerializer(typeof(T))).ReadObject(new MemoryStream(Encoding.UTF8.GetBytes(strJson))); }
但是有时候会碰到Json数组,比如[{\"Age\":28,\"Name\":\"张三\"},{\"Age\":25,\"Name\":\"李四\"}],这时候就是要做数组的反序列化了,简单来说其实就是把Json变成list
////// 根据json数据返回相应对象 /// ////// /// public static List JSONStringToList (string JsonStr) { JavaScriptSerializer Serializer = new JavaScriptSerializer(); //设置转化JSON格式时字段长度 List objs = Serializer.Deserialize
>(JsonStr); return objs; }
然后我们在去声明一个list对象去获取里面的值
ListTD_Share = new List (); TD_Share = JSONStringToList (strJson);
最后除了对这个值作一个判断以外,利用foreach去读取里面的值就好了