将一张表里的数据转换为json字符串
1.創建一個JsonHelper.cs類,注意要添加引用using Newtonsoft.Json;
public class JsonHelper{
public JsonHelper()
{
//
//TODO: 在此處添加構造函數邏輯
//
}
public static string DataTableToJSON(DataTable dt, string dtName)
{
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
using (JsonWriter jw = new JsonTextWriter(sw))
{
JsonSerializer ser = new JsonSerializer();
jw.WriteStartObject();
jw.WritePropertyName(dtName);
jw.WriteStartArray();
foreach (DataRow dr in dt.Rows)
{
jw.WriteStartObject();
foreach (DataColumn dc in dt.Columns)
{
jw.WritePropertyName(dc.ColumnName);
ser.Serialize(jw, dr[dc].ToString());
}
jw.WriteEndObject();
}
jw.WriteEndArray();
jw.WriteEndObject();
sw.Close();
jw.Close();
}
return sb.ToString();
}
}
2、調用方法JsonHelper.DataTableToJSON(ds.Tables[0], "article");此方法返回一個字符串data
3、將第二部獲取的字符串轉換為json格式發送給客戶端
var json = eval('(' + data+ ')'); //此處必須要加一個小括號
4、取json里的數據
讀json里的數據就要了解Json里的格式
如第一步里的表的設計是這樣的:
DataColumn dcText = new DataColumn("dayText");
DataColumn dcValue = new DataColumn("dayValue");
dt.Columns.AddRange(new DataColumn[] { dcText, dcValue });
表名叫test插入了兩條數據"first":"1","second":"2",那么生成的第二步的字符串就是{test:[{"dayText":"first","datValue":"1"},{“dayText”:"second","dayValue":"2"}]}
將字符串轉換為Json.
解析Json:
?①.遍歷取出所有記錄
??? $.each(json.test,function(index,record){
??????????record.dayText;//字段dayText
record.dayValue;//字段dayValue
??? })
②.單獨取出某條記錄
json.test[0].dayText;//取出第一條記錄的dayText字段
轉載于:https://www.cnblogs.com/jenney-qiu/archive/2012/03/16/2400573.html
總結
以上是生活随笔為你收集整理的将一张表里的数据转换为json字符串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IIS6+Tomcat7整合
- 下一篇: PHP远程下载类