Asp.net jsonWriter类的用法?
展开全部
获取 DataTable
然后转换
public static string DataTableToJson(DataTable dt)
{
StringBuilder jsonBuilder = new StringBuilder();
//jsonBuilder.Append("{"); //输出的要求不要'}'
//jsonBuilder.Append(dt.TableName);
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("\":\"");
string item = dt.Rows[i][j].ToString();
if (item.IndexOf('\"') >= 0)
item = item.Replace("\"", "'"); //数据中含双引号 json无法判别
jsonBuilder.Append(item);
jsonBuilder.Append("\",");
}
jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
jsonBuilder.Append("},");
}
jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
jsonBuilder.Append("]");
//jsonBuilder.Append("}"); //输出的要求不要'}'
return jsonBuilder.ToString();
}
然后转换
public static string DataTableToJson(DataTable dt)
{
StringBuilder jsonBuilder = new StringBuilder();
//jsonBuilder.Append("{"); //输出的要求不要'}'
//jsonBuilder.Append(dt.TableName);
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("\":\"");
string item = dt.Rows[i][j].ToString();
if (item.IndexOf('\"') >= 0)
item = item.Replace("\"", "'"); //数据中含双引号 json无法判别
jsonBuilder.Append(item);
jsonBuilder.Append("\",");
}
jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
jsonBuilder.Append("},");
}
jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
jsonBuilder.Append("]");
//jsonBuilder.Append("}"); //输出的要求不要'}'
return jsonBuilder.ToString();
}
参考资料: http://zhidao.baidu.com/question/176221777.html
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询