json格式如下
{
"HEAD":{
"billType":"S-W",
"billNo":"BSN0001"
},
"ITEM":[
{
"ItemID":"IT0002",
"Qty":"1500"
},
{
"ItemID":"IT0003",
"Qty":"5300"
}
]
}
需要轉換為datatable 如下
billType billNo ItemID Qty
S-W BSN0001 IT0002 1500
S-W BSN0001 IT0003 5300
uj5u.com熱心網友回復:
把json反序列化成物件,再去操作這個物件就可以了。uj5u.com熱心網友回復:
那上面例子,得出是一個物件集合?
uj5u.com熱心網友回復:
那個json串明顯是個物件啊,物件里面有個屬性是集合。uj5u.com熱心網友回復:
勉強能實作你那個,你看下吧。
string jsonStr = "{\"HEAD\": {\"billType\": \"S-W\",\"billNo\": \"BSN0001\"},\"ITEM\": [{\"ItemID\": \"IT0002\",\"Qty\": \"1500\"},{\"ItemID\": \"IT0003\",\"Qty\": \"5300\"}]}";
Test test = JsonConvert.DeserializeObject<Test>(jsonStr);
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("BillType"));
dt.Columns.Add(new DataColumn("BillNo"));
dt.Columns.Add(new DataColumn("ItemID"));
dt.Columns.Add(new DataColumn("Qty"));
foreach (var item in test.Item)
{
DataRow dr = dt.NewRow();
dr["BillType"] = test.Head.BillType;
dr["BillNo"] = test.Head.BillNo;
dr["ItemID"] = item.ItemID;
dr["Qty"] = item.Qty;
dt.Rows.Add(dr);
}
class Test
{
public Head Head { get; set; }
public List<TestItem> Item { get; set; }
}
class Head
{
public string BillType { get; set; }
public string BillNo { get; set; }
}
class TestItem
{
public string ItemID { get; set; }
public string Qty { get; set; }
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/46440.html
標籤:C#
上一篇:WPF里點擊DataGrid控制元件任意一行不要改變顏色怎么做
下一篇:C# 繼承
