今天遇到在后台中要獲取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數據。