C#如何解析嵌套json字符串? 下面我们来看下复杂Json解析方法教程
json格式比较复杂,如何根据json快速生成Model?
手写Model是比较费事的,下面推荐一个自动生成model工具
注:此序列化需要JsonHelper的支持,点击下载JsonHelper帮助类库
看不太直观吗?直接点击下载demo运行一下吧!!不明白的可以加群问站长
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\":\"测试系统\",\"p_num\":\"10\",\" a_num \":\"9\"}]}}";
P_order P_orderInfo = new P_order();//接收json字符串中p_order的数据
List<P_order_itemsItem> P_order_itemsItemList = new List<P_order_itemsItem>();//接收json字符串中p_order_items的数据
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);
}
//此时 P_orderInfo==>p_order中的数据
//P_order_itemsItemList==>p_order_items中的数据
//接下来处理接收到的数据
string p_order_itemsstr = string.Empty;
foreach (var porderitem in P_order_itemsItemList)
{
p_order_itemsstr = porderitem.remark " , ";
}
Response.Write("最外层json数据接收:" qtinfo.usr_code "<br>p_order中的数据接收:" P_orderInfo.p_order_no "<br>p_order_items中数据接收:" p_order_itemsstr);
}
}
}
#region C#嵌套json 测试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字符串?