dt转成JSON

类和方法:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;

namespace WsCaac.DALFactory
{
public class DtToJson
{
/// <summary>
/// 将DT转换为JSON
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public static string DataTableToJson(DataTable dt)
{
List<string> result = new List<string>();
StringBuilder Json = new StringBuilder();
if (dt.Rows.Count > 0)
{
Json.Append("{");
Json.Append("\"total\":" + dt.Rows.Count.ToString());
Json.Append(",");
Json.Append("\"rows\":");
Json.Append("[");
for (int i = 0; i < dt.Rows.Count; i++)
{
result = new List<string>();
for (int k = 0; k < dt.Columns.Count; k++)
{
result.Add("\"" + dt.Rows[i][k].ToString() + "\"");
}
if (i == dt.Rows.Count - 1)
{
AddNewJson(Json, result, dt);

}
else
{
AddNewJson(Json, result, dt);
Json.Append(",");
}
}
Json.Append("]");
Json.Append("}");
}
return Json.ToString();
}
private static void AddNewJson(StringBuilder Json, List<string> result, DataTable dt)
{
Json.Append("{");
for (int i = 0; i < dt.Columns.Count; i++)
{
Json.Append("\"");
Json.Append(dt.Columns[i].ColumnName);
Json.Append("\":");
if (result[i].Contains(","))
{
Json.Append(result[i]);
}
else
{
Json.Append(result[i]);
if (i != dt.Columns.Count - 1)
{
Json.Append(",");
}
}
}
Json.Append("}");
}
}
}




这是一件让人感到欣喜的事情:参考链接http://www.cnblogs.com/jin256/archive/2011/11/22/2258644.html<br />结果: {"total":47,"rows":[{"ID":"011","TYPE":"001","VALUE":"新的2","FLAG":"0","MEMOUS":"新的类型11"},{"ID":"002","TYPE":"001","VALUE":"课程计划类别分类","FLAG":"0","MEMOUS":"相当于课程分类"},{"ID":"003","TYPE":"001","VALUE":"资源类型分类","FLAG":"0","MEMOUS":""},{"ID":"004","TYPE":"001","VALUE":"试卷难度分类","FLAG":"0","MEMOUS":""},{"ID":"005","TYPE":"001","VALUE":"试题类型分类","FLAG":"0","MEMOUS":""},{"ID":"006","TYPE":"001","VALUE":"试题难度分类","FLAG":"0","MEMOUS":""},{"ID":"010","TYPE":"001","VALUE":"新的分类1","FLAG":"0","MEMOUS":"新的分类0"},{"ID":"001","TYPE":"001","VALUE":"类型说明","FLAG":"0","MEMOUS":"type值为001的标识了其对相应ID值作为字典type(类型)时的含义"},{"ID":"008","TYPE":"001","VALUE":"展示类别","FLAG":"0","MEMOUS":"dfd"},{"ID":"016","TYPE":"001","VALUE":"LINUX基础知识培训","FLAG":"0","MEMOUS":"训"},{"ID":"015","TYPE":"001","VALUE":"测试3","FLAG":"0","MEMOUS":"据3"},{"ID":"014","TYPE":"001","VALUE":"新的类型分五位类","FLAG":"0","MEMOUS":"试数据测"},{"ID":"007","TYPE":"001","VALUE":"试卷类型分类","FLAG":"0","MEMOUS":""},{"ID":"0002","TYPE":"002","VALUE":"ORACLE知识培训","FLAG":"0","MEMOUS":"可以填入答案的"},{"ID":"0004","TYPE":"002","VALUE":"填图程序","FLAG":"0","MEMOUS":"测试好"},{"ID":"0007","TYPE":"002","VALUE":"雷达","FLAG":"0","MEMOUS":"M和多"},{"ID":"0005","TYPE":"002","VALUE":"AWOS","FLAG":"0","MEMOUS":"气象自动观测机务"},{"ID":"0003","TYPE":"002","VALUE":"电报发报系统培训","FLAG":"0","MEMOUS":"培训电报"},{"ID":"0009","TYPE":"002","VALUE":"LINUX基础知识培训","FLAG":"0","MEMOUS":"训"},{"ID":"0008","TYPE":"002","VALUE":"气象信息机务","FLAG":"0","MEMOUS":"网络、航空气象知识、法规、MQ、AIX、ORACLE9I、wafs、卫星、机务常识"},{"ID":"0006","TYPE":"002","VALUE":"气象观测","FLAG":"0","MEMOUS":"气象观测"},{"ID":"0023","TYPE":"003","VALUE":"子撞","FLAG":"0","MEMOUS":"23"},{"ID":"0011","TYPE":"003","VALUE":"最新公告","FLAG":"0","MEMOUS":"最新"},{"ID":"0001","TYPE":"003","VALUE":"视频","FLAG":"0","MEMOUS":"视频"},{"ID":"0006","TYPE":"003","VALUE":".doc","FLAG":"0","MEMOUS":"OFFICE文档"},{"ID":"0008","TYPE":"003","VALUE":"培训3","FLAG":"0","MEMOUS":"新的方法"},{"ID":"0009","TYPE":"003","VALUE":"DOC测试一","FLAG":"0","MEMOUS":"信息提示:信息提示:信息提示:测试数据"},{"ID":"0005","TYPE":"003","VALUE":"压缩包","FLAG":"0","MEMOUS":"减小文件大小,提高传输速度"},{"ID":"0007","TYPE":"003","VALUE":".DOC","FLAG":"0","MEMOUS":"office文档"},{"ID":"0012","TYPE":"003","VALUE":"最新活动","FLAG":"0","MEMOUS":"阿打发斯蒂芬啊打发阿斯达"},{"ID":"0004","TYPE":"003","VALUE":"图片","FLAG":"0","MEMOUS":"图片"},{"ID":"0003","TYPE":"003","VALUE":"文档","FLAG":"0","MEMOUS":"看文档"},{"ID":"0002","TYPE":"003","VALUE":"音频","FLAG":"0","MEMOUS":"音频"},{"ID":"0022","TYPE":"003","VALUE":"最新的知识库","FLAG":"0","MEMOUS":"打发斯蒂芬啊"},{"ID":"0002","TYPE":"004","VALUE":"**","FLAG":"0","MEMOUS":"可以填入答案的"},{"ID":"0001","TYPE":"004","VALUE":"*","FLAG":"0","MEMOUS":"有项A五位BCD"},{"ID":"0003","TYPE":"004","VALUE":"*****","FLAG":"0","MEMOUS":""},{"ID":"0004","TYPE":"005","VALUE":"判断","FLAG":"0","MEMOUS":"判断题在,20121022加入的"},{"ID":"0003","TYPE":"005","VALUE":"简答","FLAG":"0","MEMOUS":"回答正确答案"},{"ID":"0001","TYPE":"005","VALUE":"选择","FLAG":"0","MEMOUS":"有4个选项A五位BCD"},{"ID":"0002","TYPE":"005","VALUE":"填空","FLAG":"0","MEMOUS":"可以填8入答案的"},{"ID":"0002","TYPE":"006","VALUE":"易","FLAG":"0","MEMOUS":"可以填入答案"},{"ID":"0001","TYPE":"006","VALUE":"中","FLAG":"0","MEMOUS":"有4个选项A五位BCD"},{"ID":"0003","TYPE":"006","VALUE":"难","FLAG":"0","MEMOUS":""},{"ID":"0001","TYPE":"007","VALUE":"练习题","FLAG":"0","MEMOUS":"ABCD"},{"ID":"0002","TYPE":"007","VALUE":"统一考试","FLAG":"0","MEMOUS":"填入答案的"},{"ID":"0003","TYPE":"007","VALUE":"自测考试","FLAG":"0","MEMOUS":"自行测试"}]}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值