62,041
社区成员
发帖
与我相关
我的任务
分享
//这里模拟一个DataTable,实际应用中可能是去数据库里查询数据
DataTable dt = new DataTable();
dt.Columns.Add("TestName", typeof(string));
dt.Columns.Add("TestValue", typeof(string));
for (int i = 0; i < 6; i++)
{
DataRow dr = dt.NewRow();
dr["TestName"] = "TestName" + i.ToString();
dr["TestValue"] = "TestValue" + i.ToString();
dt.Rows.Add(dr);
}
//将一个DataTable中的数据转成json,实际开发中可以用Newtonsoft.Json等组件
//将集合类等,方便的转成json对象
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("{items: [");
foreach (DataRow dr in dt.Rows)
{
sb.Append("{");
sb.AppendFormat("TestName:'{0}',TestValue:'{1}'", dr[0], dr[1]);
sb.Append("},");
}
//输出拼成的json
Response.Write(sb.ToString().Trim(',') + "]}");
private string DataTableToJson(DataTable dt)
{
StringBuilder jsonBuilder = new StringBuilder();
jsonBuilder.Append("[");
for (int i = 0; i < dt.Rows.Count; i++)
{
jsonBuilder.Append("{");
for (int j = 0; j < dt.Columns.Count; j++)
{
jsonBuilder.Append("\"");
jsonBuilder.Append(dt.Columns[j].ColumnName);
jsonBuilder.Append("\":\"");
jsonBuilder.Append(dt.Rows[i][j].ToString());
jsonBuilder.Append("\",");
}
jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
jsonBuilder.Append("},");
}
jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
jsonBuilder.Append("]");
//string temp=jsonBuilder.ToString();
return jsonBuilder.ToString();
}