C#实现集合转换成json格式数据的方法
作者:ajunfly 时间:2022-03-18 03:28:50
本文实例讲述了C#实现集合转换成json格式数据的方法。分享给大家供大家参考,具体如下:
/// <summary>
/// dataTable转换成Json格式
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public static string ToJson(DataTable dt)
{
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder jsonBuilder = new StringBuilder();
jsonBuilder.Append("{\"");
jsonBuilder.Append("data");
jsonBuilder.Append("\":[");
for (int i = 0; i < dt.Rows.Count; i++)
{
jsonBuilder.Append("{");
for (int j = 0; j < dt.Columns.Count; j++)
{
jsonBuilder.Append("\"");
jsonBuilder.Append(dt.Columns[j].ColumnName);
jsonBuilder.Append("\":\"");
jsonBuilder.Append(jsonStringFromat(dt.Rows[i][j].ToString()));
jsonBuilder.Append("\",");
}
jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
jsonBuilder.Append("},");
}
jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
jsonBuilder.Append("]");
jsonBuilder.Append("}");
return jsonBuilder.ToString();
}
else
{
return "";
}
}
/// <summary>
/// Enumerable转成JSON
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
public static string EnumerableToJson(IEnumerable list)
{
StringBuilder json = new StringBuilder();
int i = 0;
if (list != null)
{
json.Append("{\"data\":[");
foreach (var item in list)
{
json.Append("{");
PropertyInfo[] pi = item.GetType().GetProperties();
int j = 0;
foreach (var p in pi)
{
if (j < pi.Length - 1)
{
json.Append("\"" + p.Name.ToString() + "\":\"" + jsonStringFromat(p.GetValue(item, null).ToString()) + "\",");
}
else
{
json.Append("\"" + p.Name.ToString() + "\":\"" + jsonStringFromat(p.GetValue(item, null).ToString()) + "\"");
}
j++;
}
i++;
json.Append("},");
}
json.Remove(json.Length - 1, 1);
json.Append("]}");
}
if (i != 0)
return json.ToString();
else
return "";
}
PS:本站还提供了如下JSON相关工具,方便大家参考使用:
JSON在线转换成C#实体类工具:
http://tools.jb51.net/code/json2csharp
在线JSON代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat
在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson
json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat
C语言风格/HTML/CSS/json代码格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json
希望本文所述对大家C#程序设计有所帮助。
标签:C#,转换,json
0
投稿
猜你喜欢
Android string.xml中的替换方法
2021-11-10 11:47:56
Java中通过Class类获取Class对象的方法详解
2021-11-09 17:12:57
Java中判断对象是否为空的方法的详解
2022-01-09 07:41:14
C#实现DVD借出归还管理系统
2021-07-02 06:55:38
Spring的事务机制实例代码
2021-09-11 07:46:23
Android在项目中接入腾讯TBS浏览器WebView的教程与注意的地方
2021-12-18 01:58:28
浅析Mybatis 在CS程序中的应用
2023-06-24 08:44:15
Java生成PDF文件的实例代码
2022-05-24 07:22:37
Android设置透明状态栏和透明导航栏
2021-09-22 07:19:41
Java基础之从HelloWorld到面向对象
2022-11-23 11:55:06
mybatis plus中如何编写sql语句
2021-09-21 15:27:55
Android Room数据库多表查询的使用实例
2022-11-07 02:49:49
c# 实现模糊PID控制算法
2022-12-06 13:06:22
Spring集成Quartz的简单配置的方法
2023-08-24 02:52:27
android 中 SQLiteOpenHelper的封装使用详解
2022-11-09 12:36:57
浅谈java安全编码指南之死锁dead lock
2023-06-22 04:49:19
winform把Office转成PDF文件
2023-03-29 01:09:32
Java基础教程之组合(composition)
2022-08-02 19:12:32
Java中的clone()和Cloneable接口实例
2022-09-27 15:31:05
SpringMVC五种类型参数传递及json传递参数
2022-07-26 15:08:24