C#如何解析嵌套json字符串? 下面我們來(lái)看下復(fù)雜Json解析方法教程
json格式比較復(fù)雜,如何根據(jù)json快速生成Model?
手寫Model是比較費(fèi)事的,下面推薦一個(gè)自動(dòng)生成model工具
注:此序列化需要JsonHelper的支持,點(diǎn)擊下載JsonHelper幫助類庫(kù)
點(diǎn)擊查看JsonHelper幫助類庫(kù)用法教程
看不太直觀嗎?直接點(diǎn)擊下載demo運(yùn)行一下吧??!不明白的可以加群?jiǎn)栒鹃L(zhǎng)
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace QTJson { public partial class JsonTest : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //c#如何解析嵌套json? string qtjson = "{\"usr_code\":\"testuser1\",\"indate\":\"2016-01-27 14:15:27\",\"p_order\":{\"p_order_no\":\"122\",\"p_client\":\"AAA\",\"p_order_items\":[{\"p_product_id\":\"1\",\"product_id\":\"21\",\"remark\":\"XXXX\",\"p_num\":\"10\",\" a_num \":\"9\"},{\"p_product_id\":\"1\",\"product_id\":\"21\",\"remark\":\"測(cè)試系統(tǒng)\",\"p_num\":\"10\",\" a_num \":\"9\"}]}}"; P_order P_orderInfo = new P_order();//接收json字符串中p_order的數(shù)據(jù) List<P_order_itemsItem> P_order_itemsItemList = new List<P_order_itemsItem>();//接收json字符串中p_order_items的數(shù)據(jù) QTJson qtinfo = (QTJson)JsonHelper.jsonDes<QTJson>(qtjson); if (qtinfo != null) { P_orderInfo = qtinfo.p_order; foreach (var item in P_orderInfo.p_order_items) { P_order_itemsItem porderinfo = new P_order_itemsItem() { p_product_id = item.p_product_id, product_id = item.product_id, remark = item.remark, p_num = item.p_num, a_num = item.a_num }; P_order_itemsItemList.Add(porderinfo); } //此時(shí) P_orderInfo==>p_order中的數(shù)據(jù) //P_order_itemsItemList==>p_order_items中的數(shù)據(jù) //接下來(lái)處理接收到的數(shù)據(jù) string p_order_itemsstr = string.Empty; foreach (var porderitem in P_order_itemsItemList) { p_order_itemsstr = porderitem.remark " , "; } Response.Write("最外層json數(shù)據(jù)接收:" qtinfo.usr_code "<br>p_order中的數(shù)據(jù)接收:" P_orderInfo.p_order_no "<br>p_order_items中數(shù)據(jù)接收:" p_order_itemsstr); } } } #region C#嵌套json 測(cè)試model public class P_order_itemsItem { /// <summary> /// /// </summary> public string p_product_id { get; set; } /// <summary> /// /// </summary> public string product_id { get; set; } /// <summary> /// /// </summary> public string remark { get; set; } /// <summary> /// /// </summary> public string p_num { get; set; } /// <summary> /// /// </summary> public string a_num { get; set; } } public class P_order { /// <summary> /// /// </summary> public string p_order_no { get; set; } /// <summary> /// /// </summary> public string p_client { get; set; } /// <summary> /// /// </summary> public List<P_order_itemsItem> p_order_items { get; set; } } public class QTJson { /// <summary> /// /// </summary> public string usr_code { get; set; } /// <summary> /// /// </summary> public string indate { get; set; } /// <summary> /// /// </summary> public P_order p_order { get; set; } } #endregion } }
原文鏈接:C#如何解析嵌套json字符串?