代码经过测试(非本人),看官有更好的后台数据转JSON的方法请贴出来,共同研究。
(有转XML的也贴一下哈~~)
public class DataTableOrIListToJSON
{
public static string DataTableToJson(string jsonName, DataTable dt)
{
StringBuilder Json = new StringBuilder();
Json.Append("{" + jsonName + ":[");
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
Json.Append("{");
for (int j = 0; j < dt.Columns.Count; j++)
{
Json.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":\"" + dt.Rows[i][j].ToString() + "\"");
if (j < dt.Columns.Count - 1)
{
Json.Append(",");
}
}
Json.Append("}");
if (i < dt.Rows.Count - 1)
{
Json.Append(",");
}
}
}
Json.Append("]}");
return Json.ToString();
}
public static string ObjectToJson<T>(string jsonName, IList IL)
{
StringBuilder Json = new StringBuilder();
Json.Append("{" + jsonName + ":[");
if (IL.Count > 0)
{
for (int i = 0; i < IL.Count; i++)
{
T obj = Activator.CreateInstance<T>();
Type type = obj.GetType();
PropertyInfo[] pis = type.GetProperties();
Json.Append("{");
for (int j = 0; j < pis.Length; j++)
{
Json.Append("\"" + pis[j].Name.ToString() + "\":\"" + pis[j].GetValue(IL[i], null) + "\"");
if (j < pis.Length - 1)
{
Json.Append(",");
}
}
Json.Append("}");
if (i < IL.Count - 1)
{
Json.Append(",");
}
}
}
Json.Append("]}");
return Json.ToString();
}
}
分享到:
相关推荐
使用C# Newtonsoft Json通过json数据,解码json生成用于保存数据类json类,通过json生成类代码,支持子类 自动 如 [{"itemsize":437,"pageId":1,"erpNickShopObj":null,"itemjbxx":[{"num":94628,"numIid":40239293981...
为生成JSON Win32元数据文件 如何生成JSON文件 1.克隆win32json存储库 在运行Generator之前,您需要一个位置来存储JSON文件。 生成器将在其任何父目录(相对于CWD)中查找名为“ win32json”的目录。 您可以通过将...
json(xml) 轻量级 web 数据交换格式 import re\na='C|C++|Java|C#||Python|Javascript' r= re.findall('Python',a) print(r) if len(r) > 0: print('字符串中包含Python') else: print('No') ['Python'] 字符串...
生成元数据的交换格式,支持数据仓库自动化。 此适配器应包含为数据仓库解决方案生成转换逻辑所需的所有元数据。 链接/结构 已设置以下目录: 通用接口,包含 Json 模式定义。 类库 (DataWarehouseAutomation) 包含...
Meta.Net是一个C#.NET框架,用于从Sql Server和MySql中提取数据库元数据。 查看Meta.Net.TestConsole项目的Program.cs-GetCatalogs()方法以了解当前用法。 目前,不要使用Meta.Net.Sync库中的任何内容。 我在一...
软件开发设计:PHP、QT、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、...
是元数据驱动的模板,可简化CMS,博客引擎和其他系统的开发。 Intwenty建立在Vue.js和ASP.NET Core之上。 它使您可以创建描述UI和数据的元模型。 模型存储为数据而不是强类型对象。 它使用该模型来创建数据库,呈现...