簡體   English   中英

如何在C#中從DataTable創建JSON文件

[英]How to create JSON file from DataTable in C#

我已經從SQL Server創建了一個DataTable 代碼如下

protected void BindGridviewData()
    {
        StringBuilder str = new StringBuilder();
        SqlConnection con = new SqlConnection("Data Source=INBDQ2WK2LBCD2S\\SQLEXPRESS;Initial Catalog=MCAS;Integrated Security=SSPI");
        SqlDataAdapter adp = new SqlDataAdapter("select top 10 * from test4 order by Id desc", con);
        DataTable dt = new DataTable();
        adp.Fill(dt);


    }

現在如何從數據表創建JSON文件

使用JSON.NET

 string json = JsonConvert.SerializeObject(table, new Newtonsoft.Json.Formatting());

我使用這種方法將數據表轉換為json。

  • 我創建一個包含列名稱的類

例如

internal class myObj
{
    public string PrimaryKey{ get; set; }
    public string FirstColumn{ get; set; }
    //And so on...
}

然后我將數據表轉換為對象列表

private List<MyObj> test(DataTable dt)
{

    var convertedList = (from rw in dt.AsEnumerable()
               select new MyObj()
               {
                   ID = Convert.ToInt32(rw["ID"]),
                   FirstColumn = Convert.ToString(rw["FirstColumn"])
                   //etc...
               }).ToList();

    return convertedList;
}

最后我使用JsonConvert.SerializeObject(obj) (取自JSon.Net, 在這里看看

using Newtonsoft.Json;

然后我序列化列表

string json = JsonConvert.SerializeObject(test(myDataTable));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM