命名空間
using System;
using System.IO;
using System.Net;
using System.Text;
using System.Reflection;
using System.Collections;
using System.Collections.Generic;
using System.Text.RegularExpressions;
#region list轉json
public static string ListToJson<T>(IList<T> list)
{
object obj = list[0];
return ListToJson<T>(list, obj.GetType().Name);
}
private static string ListToJson<T>(IList<T> list, string JsonName)
{
StringBuilder Json = new StringBuilder();
if (string.IsNullOrEmpty(JsonName))
JsonName = list[0].GetType().Name;
Json.Append("{\"" + JsonName + "\":[");
if (list.Count > 0)
{
for (int i = 0; i < list.Count; i++)
{
T obj = Activator.CreateInstance<T>();
PropertyInfo[] pi = obj.GetType().GetProperties();
Json.Append("{");
for (int j = 0; j < pi.Length; j++)
{
Type type = pi[j].GetValue(list[i], null).GetType();
Json.Append("\"" + pi[j].Name.ToString() + "\":" + String.Format(pi[j].GetValue(list[i], null).ToString(), type));
if (j < pi.Length - 1)
{
Json.Append(",");
}
}
Json.Append("}");
if (i < list.Count - 1)
{
Json.Append(",");
}
}
}
Json.Append("]}");
return Json.ToString();
}
#endregion
#region 對象集合轉換爲json
public static string ToJson(IEnumerable array)
{
string jsonString = "[";
foreach (IEnumerable item in array)
{
jsonString += ToJson(item) + ",";
}
jsonString = jsonString.Substring(0, jsonString.Length - 1);
return jsonString + "]";
}
#endregion
#region 普通集合轉換Json
public static string ToArrayString(IEnumerable array)
{
string jsonString = "[";
foreach (object item in array)
{
jsonString = ToJson(item.ToString()) + ",";
}
jsonString.Remove(jsonString.Length - 1, jsonString.Length);
return jsonString + "]";
}
#endregion