中文版 |  |&是照nbsp;RSS訂閱
搜索曆史

清除曆史

熱門搜索

網絡工作室網站建設seo優化小程序

零基礎幹貨

零基礎幹貨

SERVICE CENTER

C# dataTable轉json的幾種(zhǒn關鄉g)方法

網站建設 2021/10/16 8:34:算妹00   &場能nbsp;98web    閱讀 278

方法1:使用StringBuilder

這(zhè)是Json樣(yàng)本數據的樣(對自yàng)子: {"姓名 ":"張三", "年齡":"姐熱30"}。Json裡(lǐ)用藍鐵花括号保存對(duì)象,它可以包含多個名稱/值對(能靜duì)。所以使用StringBuilder我們可以創建一個短窗類似的Json字符串。

由于要使用StringBuilder類,我們首先需要導靜鄉入System.Text命名空間,如下:

using System.Text;

下面(miàn)的代碼將(jiāng)生成(ch關還éng)一個Json字符串,遍曆大很DataTable的行和列,獲取數據,添加到一個StringBuilder秒大對(duì)象 JsonString,然後(hòu)從河返回這(zhè)個對(duì)象。

public string DataTableToJson(DataT生女able table)

{

var JsonString = new StringBuilder()湖腦;

if (table.Rows.C高他ount > 0)

{

JsonString.Append("[");

for (int i = 0; i < table購歌.Rows.Count; i++)

{

JsonString.Append("{");

for (int j = 0;長為 j < table.Columns.Count; 好機j++)

{

if (j < table.Columns.Co作路unt - 1)

{

JsonString.Appe輛土nd("\"" + table.Colu月水mns[j].ColumnName.ToString() +身市 "\":" + "\"" + table.Rows[i][j]草和.ToString() + "\街區",");

}

else if (j == table.Columns.Cou現媽nt - 1)

{

JsonString.Append("\""笑歌 + table.Columns[j].ColumnName.ToSt笑空ring() + "\":" + "\"" + t靜知able.Rows[i][j].ToStr如妹ing() + "\"");

}

}

if (i == table.Rows.Count - 話身1)

{

JsonString.Append("}");

}

else

{

JsonString.Append("},");

}

}

JsonString.Append("]");

}

return JsonString.ToStr數時ing();

}

方法2:使用 JavaScriptSeri雜朋alizer.

首先我們添加System.Web.S自北cript.Serialization命名空間,如下:

using System.Web.Script.Seriali化術zation;

JavaScriptSerializer這(zhè)個類是那吃由異步通信層内部使用來序列化和反序列化數據。如果序列化一個對草短(duì)象,就(jiù)使用序列化方法。反序列化Json字符串,使用Dese離信rialize或DeserializeObject方法。在這(zhè)裡(l到長ǐ),我們使用序列化方法得到Jso訊從n格式的數據。代碼以下:

public string DataTableT話村oJsonWithJavaSc窗的riptSerializer(DataTable table)站月

{

JavaScriptSerializer 亮些jsSerializer = new JavaScriptSerialize畫了r();

List < Dictionary < string, object >> parentRow = new List < Dictionary < string, object >> ();

Dictionary < string, object > childRow;

foreach(DataRow row in t男山able.Rows)

{

childRow = new Diction謝少ary < string, object > ();

foreach(DataColum麗睡n col in table.Columns)

{

childRow.Add(col.Colum藍化nName, row[col]);

}

parentRow.Add(childRow);

}

return jsSerializer.Serialize日商(parentRow);

}

方法3:使用Json.Net DLL (Ne家吃wtonsoft)。

這(zhè)個方法中要添加Json.Net DLL引用,我們可以從是海Newtonsoft下載Json.Net D請靜LL,再導入命名空間,代碼如下:

using Newtonsoft.Json;

public string DataTableT得黃oJsonWithJsonNet(Data外內Table table)

{

string JsonString=string.Empty;

JsonString = JsonConvert.Serialize遠冷Object(table);

return JsonString;

}


TAG标簽:dataTable轉json
鍊接地址:
鄭重聲明:以上内容來源自玖捌網絡工作室,轉載請注明出處!

兼顧高品質與個性化的界面(miàn)設計他冷

網站無須三方授權 · 安全穩定、維護方便

玖捌網絡工作室
18972931619
掃碼獲取最新報價
0.054685