C#中List集合转换JSON

#region 将List<>转换为Json
public string List2JSON(List 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 ls_propertys = new List();
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 GetObjectProperty(object o)
{
List propertyslist = new List();
PropertyInfo[] propertys = o.GetType().GetProperties();
foreach (PropertyInfo p in propertys)
{
propertyslist.Add("\"" + p.Name.ToString() + "\":\"" + p.GetValue(o, null) + "\"");
}
return propertyslist;
}

#endregion

你可能感兴趣的:(.Net)