using
System;
using
System.Data;
|
using
System.Text;
|
using
System.Collections.Generic;
|
using
System.Reflection;
|
/// <summary>
|
/// 将DataTable或Ilist<>转换成JSON格式
|
/// </summary>
|
public
class
ToJson
|
{
|
public
ToJson()
|
{
|
}
|
//DataTable转成Json
|
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();
|
}
|
//List转成json
|
public
static
string
ObjectToJson<T>(
string
jsonName, IList<T> 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();
|
}
|
}