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 и никогда не оглядывался назад:)