Newtonsoft.Json 应用

Newtonsoft.Json下载地址http://json.codeplex.com/

根据自己的项目生成DLL并引用

JSON格式为

{"result":"200","info":[{"_cid":5,"_name":"Iphone4","_parentid":2,"_status":true},{"_cid":7,"_name":"手机外套",{"_cid":8,"_name":"手机模","_status":true}]}

解析JOSN
View Code
 Maticsoft.Model.BackInfo backinfo = (Maticsoft.Model.BackInfo)
                 JsonConvert.DeserializeObject(JsonData,typeof(Maticsoft.Model.BackInfo)); 

             if (backinfo.result == "200")//成功
             {
                 List<Maticsoft.Model.IphoneClassify> list = backinfo.info;
                 Dictionary<int,String> dic = new System.Collections.Generic.Dictionary<();
                 for (int i = 0; i < list.Count; i++)
                 {
                     Maticsoft.Model.IphoneClassify classify = (Maticsoft.Model.IphoneClassify)list[i];
                     dic.Add(classify._cid,classify._name);
                 }
                 this.DataList1.DataSource = dic;
                 this.DataList1.DataBind();
             }
             else { 
                失败
             }

这里特别注意的是 JSON的字段要和Model类的属性名保持一至不然返回Null 就是这个问题研究半天才弄明白,多谢http://smalltalk.cnblogs.com/http://www.cnblogs.com/xiaopohou/

的帮忙

我的model类是用动软生成

最后将model类改为

View Code
using System;
 System.Collections.Generic;
 System.Linq;
 System.Text;

namespace Maticsoft.Model
{
    /// <summary>
    ///返回JSON属性
    </summary>
    [Serializable]
   public class BackInfo
    { 
       public BackInfo() { 
           
       }
        public String result { get; set; }
        public List<IphoneClassify> info { ; }
    }

    产品类型
        [Serializable]
     IphoneClassify
    {
        int _cid { string _name { int _parentid { bool _status { ; }

    }
}

序列化JOSN
View Code
 DataTable dt = new Maticsoft.BLL.Iphone_Classify().GetList(parentID=" + strParentID).Tables[0];
                if (dt.Rows.Count > )
                {
                    List<Maticsoft.Model.Iphone_Classify> list = new List<Model.Iphone_Classify>();
                    foreach (DataRow row in dt.Rows)
                    {
                        Maticsoft.Model.Iphone_Classify model = new Model.Iphone_Classify()
                        {
                            CID = int.Parse(row[CID"].ToString()),Name = row[Name].ToString(),parentID = parentIDbool.Parse(row[Status].ToString())
                        };
                        list.Add(model);
                    }
                    微软的JSON序列化
                    Classifyinfo = Json.JsonInfo("200",Json.CompanyJsonSerializer<List<Maticsoft.Model.Iphone_Classify>>(list));
                     Newtonsoft.Json
                    Classifyinfo = Json.JsonInfo(,JsonConvert.SerializeObject(list));
                }
                
                {
                    Classifyinfo = Json.JsonInfo(400",未找到相应数据);
                }

相关文章

  jsonp需要在页面中添加一个<script>元素,由该元素来从其他服务器加载json数据。 <body&g...
<script> var testApi = "地址"; $.ajax({ url:testApi,//可以不是本地域名 type:‘post...
总是有人会遇到跨域问题,然后有个jsonp的解决方案,MVC中代码如下: public class JsonpResult : Syst...
最近开发中遇到调用第三方web_api的功能,后端在处理json数据时使用fastjson来做反序列化,由于调用api...
JSON全称为JavaScript ObjectNotation,它是一种轻量级的数据交换格式,易于阅读、编写、解析。jsoncpp...
JsonSerializer有多个属性,用于自定义如何序列化JSON。这些也可以通过JsonSerializerSettings参数,在...