在進行數據處理的過程中,經常需要將 JSON 數據轉換為 DataTable 格式。JSON 是一種輕量級的數據交換格式,而 DataTable 是 .NET Framework 中提供的一種高效的數據表格處理類,它位于 System.Data 命名空間中。
使用 C# 中的 Json.NET 庫可以方便地將 JSON 字符串反序列化為動態類型對象。從而可以通過 Linq 語句對其進行進一步處理。以下是將 JSON 數據轉換為 DataTable 的示例代碼:
using System.Data;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
string jsonStr = @"[
{
'Name': 'John Smith ',
'Age': 25,
'Gender': 'Male',
'City': 'New York'
},
{
'Name': 'Lucy White ',
'Age': 27,
'Gender': 'Female',
'City': 'Los Angeles'
}
]";
JArray jsonArray = JArray.Parse(jsonStr);
DataTable dataTable = JsonConvert.DeserializeObject<DataTable>(jsonArray.ToString());
foreach(DataRow row in dataTable.Rows)
{
Console.WriteLine(row["Name"].ToString() + " " +
row["Age"].ToString() + " " +
row["Gender"].ToString() + " " +
row["City"].ToString());
}
在代碼中,首先將 JSON 數據字符串轉換為 JArray 類型對象,然后使用 JsonConvert.DeserializeObject 方法將其反序列化為 DataTable 對象。因為 JArray 本質上是一個數組,而 DataTable 內部的數據存儲格式是二維表格。這里需要將 JArray 轉換為字符串再進行反序列化處理。
最后通過遍歷 DataTable 中的每一行,獲取其中的屬性值,實現了將 JSON 數據轉換為 DataTable 的操作。