欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP.NET将DataTable解析成JSON

程序员文章站 2022-05-05 16:07:42
好久没有写文章了,好想这个园子呀。今天来为大家介绍Datatable解析成json,过程不算太复杂,将这篇文章带给需要的人。 这里解析json使用的是Newtonsoft.Jso...

好久没有写文章了,好想这个园子呀。今天来为大家介绍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一个。谢谢!

 

 

作者 田念收