C#中List集合转换JSON

来源:互联网 发布:读取sql文件软件下载 编辑:程序博客网 时间:2024/06/07 09:35

#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

0 0
原创粉丝点击