ASP.NET 将DataTable解析成JSON
好久没有写文章了,好想这个园子呀。今天来为大家介绍Datatable解析成json,过程不算太复杂,将这篇文章带给需要的人。
这里解析json使用的是Newtonsoft.Json.dll程序集。下面请看code:
View Code
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Data; 6 using Newtonsoft.Json; 7 8 /// <summary> 9 ///DataTable解析JSON 10 /// </summary> 11 public class ConvertDataTable : JsonConverter 12 { 13 public ConvertDataTable() 14 { 15 // 16 //TODO: 在此处添加构造函数逻辑 17 // 18 } 19 public override bool CanConvert(Type objectType) 20 { 21 return typeof(DataTable).IsAssignableFrom(objectType); 22 } 23 24 public override object ReadJson(JsonReader reader, Type objectType) 25 { 26 throw new NotImplementedException(); 27 } 28 29 public override void WriteJson(JsonWriter writer, object value) 30 { 31 DataTable dt = (DataTable)value; 32 writer.WriteStartArray(); 33 foreach (DataRow dr in dt.Rows) 34 { 35 writer.WriteStartObject(); 36 foreach (DataColumn dc in dt.Columns) 37 { 38 writer.WritePropertyName(dc.ColumnName); 39 writer.WriteValue(dr[dc].ToString()); 40 } 41 writer.WriteEndObject(); 42 } 43 writer.WriteEndArray(); 44 } 45 }
使用上面这个类,然后再调用下面这个方法,就可以将datatable转换成json了。
JavaScriptConvert.SerializeObject(dt, new ConvertDataTable())
如果有需要这个程序集的,可以给我留言,也可以从网上down一个。谢谢!
特别声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。