软件编程
位置:首页>> 软件编程>> C#编程>> C#实现集合转换成json格式数据的方法

C#实现集合转换成json格式数据的方法

作者:ajunfly  发布时间:2022-03-18 03:28:50 

标签:C#,转换,json

本文实例讲述了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#程序设计有所帮助。

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com