将一张表里的数据转换为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里的格式
如第一步里的表的设计是这样的:
DataTable dt = new DataTable();
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字段
posted on 2012-03-16 16:49 jenney.qiu 阅读(649) 评论(0) 编辑 收藏 举报