.NET 中Newtonsoft的使用 自定義物件的序列化

SieSteven發表於2015-12-05

1、引入對應framework下的dll

比如一開始用的是4.5的dll 新增成功了,但是卻報錯。用的是VS10 SP1所以使用的是 NET3.5的版本

2、handler中的使用

 public class HStuReport : IHttpHandler
    {


        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";

                    hd result = new hd();
                    result.lstVtime = lstVtime;
                    result.lstEtime = lstEtime;
                    result.lstDays = lstDays;
                    result.lstEneryPoint = lstEneryPoint;

// 此處即可將物件轉換為json物件 提供的系統序列化也可以使用,但是自己不喜歡
                    context.Response.Write(JsonConvert.SerializeObject(result));

}

}

臨時的物件型別

  private class hd
        {
            public List<string> lstDays = new List<string>();
            // 視訊時間
            public List<int> lstVtime = new List<int>();
            // 習題時間
            public List<int> lstEtime = new List<int>();  
            // 能量點
          public  List<int> lstEneryPoint = new List<int>();
        }


3、前端呼叫



            $.getJSON(url, { type: "hd",tm: new Date().getMilliseconds() }, function (data) {
                alert(pardays);
                videoTime = data.lstVtime;
                exeTime = data.lstEtime;
                energy = data.lstEneryPoint;
                dates = data.lstDays;
                ShowChart(pardays);
            });

這樣就可以獲取到handler中生成的json字串並進行操作了。

另:js判斷變數是否為數字時,可以這樣判斷(簡易版)

 if (!isNaN(obj)) {
                pardays = 6;
            }


相關文章