如何将数据表转换为JSON在C# [英] how to convert datatable to json in C#
问题描述
- 我想从数据库中获取记录成
数据表
。 - 然后
数据表
转换成JSON对象。 - 返回JSON对象到我的JavaScript函数。
- I want to get records from database into a
DataTable
. - Then convert the
DataTable
into a JSON object. - Return the JSON object to my JavaScript function.
我用<一个href=\"http://stackoverflow.com/questions/11138035/convert-datatable-to-json-with-key-per-row#answers-header\">this通过调用code:
I use this code by calling:
string result = JsonConvert.SerializeObject(DatatableToDictionary(queryResult, "Title"), Newtonsoft.Json.Formatting.Indented);
要转换成一个DataTable到JSON,它工作正常,并返回以下内容:
To convert a DataTable to JSON, it works correctly and return the following:
{
"1": {
"viewCount": 703,
"clickCount": 98
},
"2": {
"viewCount": 509,
"clickCount": 85
},
"3": {
"viewCount": 578,
"clickCount": 86
},
"4": {
"viewCount": 737,
"clickCount": 108
},
"5": {
"viewCount": 769,
"clickCount": 130
}
}
不过,我想它返回如下:
But I would like it to return the following:
{"records":[
{
"Title": 1,
"viewCount": 703,
"clickCount": 98
},
{
"Title": 2,
"viewCount": 509,
"clickCount": 85
},
{
"Title": 3,
"viewCount": 578,
"clickCount": 86
},
{
"Title": 4,
"viewCount": 737,
"clickCount": 108
},
{
"Title": 5,
"viewCount": 769,
"clickCount": 130
}
]}
我怎样才能做到这一点?
推荐答案
从的转换为数据表JSON字符串在C#,VB.NET 可以帮助你。
它使用<一个href=\"http://msdn.microsoft.com/en-us/library/vstudio/system.web.script.serialization.javascriptserializer.deserializeobject%28v=vs.110%29.aspx\">System.Web.Script.Serialization.JavaScriptSerializer将内容序列化到JSON格式为:
This code snippet from Convert Datatable to JSON String in C#, VB.NET might help you. It uses System.Web.Script.Serialization.JavaScriptSerializer to serialize the contents to JSON format:
public string ConvertDataTabletoString()
{
DataTable dt = new DataTable();
using (SqlConnection con = new SqlConnection("Data Source=SureshDasari;Initial Catalog=master;Integrated Security=true"))
{
using (SqlCommand cmd = new SqlCommand("select title=City,lat=latitude,lng=longitude,description from LocationDetails", con))
{
con.Open();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>();
Dictionary<string, object> row;
foreach (DataRow dr in dt.Rows)
{
row = new Dictionary<string, object>();
foreach (DataColumn col in dt.Columns)
{
row.Add(col.ColumnName, dr[col]);
}
rows.Add(row);
}
return serializer.Serialize(rows);
}
}
}
这篇关于如何将数据表转换为JSON在C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!