C# DataTable 转 json
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
//窗体加载事件
dataGridView1.DataSource = getData2();
DataTable table = getData2();
textBox1.Text = DataTableToJson(getData2()) + "\r\n";
textBox1.Text += DataTableToJson(table) + "\r\n"; } #region 获得 DataTable数据
public DataTable getData1()
{
DataTable dt = new DataTable();
dt.Columns.Add("编号", typeof(Int32));
dt.Columns.Add("姓名", typeof(string));
dt.Columns.Add("性别", typeof(string));
dt.Columns.Add("学历", typeof(string));
dt.Rows.Add(, "王超", "男", "本科");
dt.Rows.Add(, "周丽", "女", "专科");
dt.Rows.Add(, "李娟", "女", "专科");
dt.Rows.Add(, "杨明", "男", "硕士");
dt.Rows.Add(, "张德", "男", "本科");
return dt;
}
public DataTable getData2()
{
DataTable dt = new DataTable("Student");
dt.Columns.Add("StudentId", typeof(Int32));
dt.Columns.Add("StudentName", typeof(string));
dt.Columns.Add("Address", typeof(string));
dt.Columns.Add("MobileNo", typeof(string));
//Data
dt.Rows.Add(, "Manish", "Hyderabad", "");
dt.Rows.Add(, "Venkat", "Hyderabad", "");
dt.Rows.Add(, "Namit", "Pune", "");
dt.Rows.Add(, "Abhinav", "Bhagalpur", "");
return dt;
}
#endregion #region 从DataTable数据转为List
public List<Student> StudentList()
{
DataTable dt = new DataTable();
dt = getData2();
List<Student> studentList = new List<Student>();
for (int i = ; i < dt.Rows.Count; i++)
{
Student student = new Student();
student.StudentId = Convert.ToInt32(dt.Rows[i]["StudentId"]);
student.StudentName = dt.Rows[i]["StudentName"].ToString();
student.Address = dt.Rows[i]["Address"].ToString();
student.MobileNo = dt.Rows[i]["MobileNo"].ToString();
studentList.Add(student);
}
return studentList;
}
#endregion #region 从DataTable数据 转为 Json
public string DataTableToJson(DataTable table)
{
var JsonString = new StringBuilder();
if (table.Rows.Count > )
{
JsonString.Append("[");
for (int i = ; i < table.Rows.Count; i++)
{
JsonString.Append("{");
for (int j = ; j < table.Columns.Count; j++)
{
if (j < table.Columns.Count - )
{
JsonString.Append("\"" + table.Columns[j].ColumnName.ToString() + "\":" + "\"" + table.Rows[i][j].ToString() + "\",");
}
else if (j == table.Columns.Count - )
{
JsonString.Append("\"" + table.Columns[j].ColumnName.ToString() + "\":" + "\"" + table.Rows[i][j].ToString() + "\"");
}
}
if (i == table.Rows.Count - )
{
JsonString.Append("}");
}
else
{
JsonString.Append("},");
}
}
JsonString.Append("]");
}
return JsonString.ToString();
}
#endregion
}
#region 实体类
public class Student
{
public int StudentId { get; set; }
public string StudentName { get; set; }
public string Address { get; set; }
public string MobileNo { get; set; }
} #endregion 创建datatable
dt = new DataTable();
dt.Columns.Add("a");
dt.Columns.Add("b");
dt.Rows.Add(1);
object[] iis = new object[2];
iis[0] = 1;
iis[1] = 2;
dt.Rows.Add(iis);
DataSource = dt;
private void button3_Click(object sender, EventArgs e)
{
//创建一个空表
DataTable dt = new DataTable();
dt.Columns.Add("列1");
dt.Columns.Add("列2");
dt.Columns.Add("列3");
dt.Columns.Add("列4"); for (int i=;
i<;i++)
{
DataRow dr = dt.NewRow();
dt.Rows.Add(dr);
dt.Rows[]["列1"] = "第一列数据";//通过名称赋值
dt.Rows[]["列2"] = "第二列数据";//通过名称赋值
dt.Rows[]["列3"] = "第三列数据";//通过名称赋值
dt.Rows[]["列4"] = "第四列数据";//通过名称赋值
} }
//插入数据到指定行
dt = dal字典.SelectBy字典类型("产品类型");
//产品类型.SelectedIndex = -1;
DataRow dr = dt.NewRow();
dr["字典类型"] = "产品类型";
dr["字典值"] = "";
//dt.Rows.Add(dr);
dt.Rows.InsertAt(dr, );
C# DataTable 转 json的更多相关文章
- 靠谱的datatable转json方法
今天有之前同事问我要datatable转json的方法,以前自己也弄过,但感觉网上有很多不靠谱的方法.所以自己在博客里记录一个,当然也是网上找的,但是这个靠谱一点,起码可以用不会报错,所以叫他靠谱的d ...
- DataTable转Json字符串(使用Newtonsoft.Json.dll)
DataTable转Json字符串(使用Newtonsoft.Json.dll) 在需要把DataTable转为Json字符串时,自己手动拼接太麻烦,而且容易出错,费时费力,使用Newtonsoft. ...
- DataTable 和Json 字符串互转
#region DataTable 转换为Json字符串实例方法 /// <summary> /// GetClassTypeJosn 的摘要说明 /// </summary> ...
- [C#]Datatable和json互相转换操作
#region DataTable 转换为Json字符串实例方法 /// <summary> /// GetClassTypeJosn 的摘要说明 /// </summary> ...
- Datatable转换Json
#region Datatable转换为Json /// <summary> /// Datatable转换为Json /// </su ...
- C#中把Datatable转换为Json的5个代码实例
一. /// <summary> /// Datatable转换为Json /// </summary> /// <param name="table" ...
- JSON之Asp.net MVC C#对象转JSON,DataTable转JSON,List转JSON,JSON转List,JSON转C#对象
一.JSON解析与字符串化 JSON.stringify() 序列化对象.数组或原始值 语法:JSON.stringify(o,filter,indent) o,要转换成JSON的对象.数组或原始值 ...
- C#中DataTable转换JSON
#region 将DataTable转换为json public string dt2json(DataTable dt) { JavaScriptSerializer jss = new JavaS ...
- DataTable转json字符串,jQuery.parseJSON()把json字符串转为标准的json对象格式
1.string res = DataTableToJson.DataTable2Json(dt);讲DataTable转换为json字符串 http://www.365mini.com/page/j ...
- Datatable转换为Json 然后,Json数据导入 js 档
C#在里面Datatable转换为Json的5代码示例 /// <summary> /// Datatable转换为Json /// </summary> /// <pa ...
随机推荐
- flex记忆
._rebate { display: -webkit-box; display: -moz-box; display: -webkit-flex; display: -moz-flex; displ ...
- UDP、线程、mutex锁(day15)
一.基于UDP的网络编程模型 服务器端 .创建socket. .将fd和服务器的ip地址和端口号绑定 .recvfrom阻塞等待接收客户端数据 .业务处理 .响应客户端 客户端: .创建socket ...
- Cursor、Exception、Procedure、Function、Package、Trigger(day06)
回顾: 1.record类型 定义record类型,声明变量,保存s_dept表中id = 31部门信息 declare /* 定义record类型 */ type deptrecord is rec ...
- [luogu2624 HNOI2008]明明的烦恼 (prufer+高精)
传送门 Solution 根据prufer序列做的题,具体可以看这里 还知道了一种避免高精除的方法quq Code #include <cmath> #include <cstdio ...
- Python检测删除你的好友-wxpy模块(发送特殊字符式)
下面是代码: from wxpy import *import timeprint("本软件采用特殊字符检测,即对方收不到任何信息!")print("或许某个版本微信就会 ...
- Java 实现线程安全的三种方式
一个程序在运行起来的时候会转换成进程,通常含有多个线程. 通常情况下,一个进程中的比较耗时的操作(如长循环.文件上传下载.网络资源获取等),往往会采用多线程来解决. 比如显示生活中,银行取钱问题.火车 ...
- HDU 4359 Easy Tree DP?
Easy Tree DP? Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)To ...
- 1012关于SYSBENCH的用法
sysbench安装.使用.结果解读 sysbench是一个模块化的.跨平台.多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况.目前sysbench代码托管在launchpad上 ...
- windows集成身份验证
集成windows身份验证 这种验证方式里面也分为两种情况 NTLM验证 这种验证方式需要把用户的用户名和密码传送到服务端,服务端验证用户名和密码是否和服务器的此用户的密码一致.用户名用明码传送,但是 ...
- keil uV4一个project内各个后缀名文件的作用
1 test1 无后缀文件,这个是终于生成的文件.仅仅要有这个文件KEIL就能够软件仿真,不能打开 2 test1.hex 这个文件能够直接下载到单片机里,他就是从无后缀文件test1里提取的,去掉了 ...