c#中对json数据的序列化和反序列化(笔记)

今天遇到在后台中要获取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数据。