您的位置:首页 > Web前端 > JavaScript

C#中List集合转换JSON

2016-10-28 09:18 465 查看
#region 将List<>转换为Json

public string List2JSON(List<object> objlist, string classname)

{

string result = "{";

if (classname.Equals(string.Empty))//如果没有给定类的名称,那么自做聪明地安一个

{

object o = objlist[0];

classname = o.GetType().ToString();

}

result += "\"" + classname + "\":[";

bool firstline = true;//处理第一行前面不加","号

foreach (object oo in objlist)

{

if (!firstline)

{

result = result + "," + OneObjectToJSON(oo);

}

else

{

result = result + OneObjectToJSON(oo) + "";

firstline = false;

}

}

return result + "]}";

}

private string OneObjectToJSON(object o)

{

string result = "{";

List<string> ls_propertys = new List<string>();

ls_propertys = GetObjectProperty(o);

foreach (string str_property in ls_propertys)

{

if (result.Equals("{"))

{

result = result + str_property;

}

else

{

result = result + "," + str_property + "";

}

}

return result + "}";

}

private List<string> GetObjectProperty(object o)

{

List<string> propertyslist = new List<string>();

PropertyInfo[] propertys = o.GetType().GetProperties();

foreach (PropertyInfo p in propertys)

{

propertyslist.Add("\"" + p.Name.ToString() + "\":\"" + p.GetValue(o, null) + "\"");

}

return propertyslist;

}

#endregion
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: