public static string DStoJSON(DataSet ds)
{
StringBuilder json = new StringBuilder();
foreach (DataRow dr in ds.Tables[0].Rows)
{
json.Append("{");
int i = 0;
int colcount = dr.Table.Columns.Count;
foreach (DataColumn dc in dr.Table.Columns)
{
json.Append("\"");
json.Append(dc.ColumnName);
json.Append("\":\"");
json.Append(dr[dc]);
json.Append("\"");
i++;
if (i < colcount) json.Append(",");
}
json.Append("\"}");
json.Append(",");
}
return json.ToString();
}
可能對您最有用的是數據集循環而不是stringbuilder
。您可以將這些循環放入一個對象中,然後使用javascript serializer
庫。
甚至更好,如果你正在使用asp.net的MVC,你可以這樣做:
return Json(List<myobject>, JsonRequestBehavior.AllowGet);
但這種方式是快速&容易! - 我沒有完全測試這個!附加的逗號可能是錯誤的(或代碼可以提高)和最後一行逗號需要處理
我使用MVC方式&永不回頭:)
我對VS 2005使用3.5 – MyHeadHurts 2010-11-12 15:39:36