今天遇到在后台中要获取json格式数据里的某些值,网上查了些资料:
string jsonstr = _vCustomerService.LoadCustomerbyNumTotalData(queryParam, out total); //[{"ROWID":0,"BUYNUM":"1","CUSTOMERCOUNT":"26"},{"ROWID":1,"BUYNUM":"5","CUSTOMERCOUNT":"1"}, //{"ROWID":2,"BUYNUM":"","CUSTOMERCOUNT":"4679359"}]
这时候用MVC3自带的类库进行解析:using System.Web.Script.Serialization;
先构造实体类
[Serializable] [DataContract]//得在定义对象类前,先声明这两个属性 public partial class BuyNumQueryParam { public string ROWID { get; set; } public string BUYNUM { get; set; } public string CUSTOMERCOUNT { get; set; } }
JavaScriptSerializer js = new JavaScriptSerializer(); List<BuyNum> list = js.Deserialize<List<BuyNum>>(jsonstr);
以上是对数据的反序列化,那么数据的序列化该怎么做呢??
很简单 ,看下面一段代码:
JavaScriptSerializer serializer = new JavaScriptSerializer(); result.TableData = serializer.Serialize(result.InputContentList);
只要调用JavaScriptSerializer的Serialize方法就可以对数据进行序列化,最后得到一个string型的json数据。