Newtonsoft.Json下载地址
根据自己的项目生成DLL并引用
JSON格式为
{"result":"200","info":[{"_cid":5,"_name":"Iphone4","_parentid":2,"_status":true},{"_cid":7,"_name":"手机外套","_parentid":2,"_status":true},{"_cid":8,"_name":"手机模","_parentid":2,"_status":true}]} 解析JOSN
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
Maticsoft.Model.BackInfo backinfo = (Maticsoft.Model.BackInfo) JsonConvert.DeserializeObject(JsonData, typeof(Maticsoft.Model.BackInfo)); if (backinfo.result == "200")//成功 { Listlist = backinfo.info; Dictionary 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 就是这个问题研究半天才弄明白,多谢和
的帮忙
我的model类是用动软生成 的
最后将model类改为
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Maticsoft.Model{ //////返回JSON属性 /// [Serializable] public class BackInfo { public BackInfo() { } public String result { get; set; } public Listinfo { get; set; } } /// ///产品类型 /// [Serializable] public class IphoneClassify { public int _cid { get; set; } public string _name { get; set; } public int _parentid { get; set; } public bool _status { get; set; } }}
序列化JOSN
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
DataTable dt = new Maticsoft.BLL.Iphone_Classify().GetList("parentID=" + strParentID).Tables[0]; if (dt.Rows.Count > 0) { Listlist = new List (); 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 = int.Parse(row["parentID"].ToString()), Status = bool.Parse(row["Status"].ToString()) }; list.Add(model); } //微软的JSON序列化 // Classifyinfo = Json.JsonInfo("200", Json.CompanyJsonSerializer
>(list)); // Newtonsoft.Json Classifyinfo = Json.JsonInfo("200", JsonConvert.SerializeObject(list)); } else { Classifyinfo = Json.JsonInfo("400", "未找到相应数据"); }