[英]How to Convert JSON Data to DataTable
我有 JSON 数据如下:
{
"Data":[
{
"Customer":"C1",
"ID":"11111",
"Desc":"Row 1",
"Price":"123456"
},
{
"Customer":"C2",
"ID":"22222",
"Desc":"Row 2",
"Price":"789012"
},
{
"Customer":"C3",
"ID":"33333",
"Desc":"Row 3",
"Price":"345678"
}
],
"Success":true
}
如何将此数据转换为 C# 数据表,就像此表一样
---------------------------------------------
Customer | ID | Desc | Price
---------------------------------------------
C1 | 11111 | Row 1 | 123456
C2 | 22222 | Row 2 | 789012
C3 | 33333 | Row 3 | 345678
并将成功值读入变量
我想在我的代码中使用成功变量并在 gridview 中显示表格。
我已经尝试过这段代码,但它不起作用:
DataTable gdata = JsonConvert.DeserializeObject<DataTable>(result);
Json.NET 支持将数据表序列化为对象数组,但是 JSON 中的数据表嵌套在"Data"
属性中,因此您需要将DataTable
包装在一些根 ZA8CFDE6331BD59EB2AC966F8911C4B6 中。 匿名 object 应该足够了:
var root = JsonConvert.DeserializeAnonymousType(result, new { Data = default(DataTable), Success = default(bool) });
var gdata = root?.Data;
var success = root?.Success ?? false;
或者,您可以像这样引入通用根 model:
public class DataRoot<T>
{
public T Data { get; set; }
public bool Success { get; set; }
}
并做:
var root = JsonConvert.DeserializeObject<DataRoot<DataTable>>(result);
演示小提琴在这里。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.