求个把dataset转成JSON的函数

qq1119753812 2009-10-21 01:13:50
我自己写了个,但是好像不是太好
所以这里向大家再求一个函数,希望大家赐教
...全文
151 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq1119753812 2009-10-21
  • 打赏
  • 举报
回复
楼上的大哥,能给我范例下如何用NEWTONSOFT.JSON来序列化一个datatable为一个JSON吗
lovehongyun 2009-10-21
  • 打赏
  • 举报
回复
先把你最终生成的json串输出来看看是什么,有没有问题.



//这里模拟一个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(',') + "]}");
tkscascor 2009-10-21
  • 打赏
  • 举报
回复
??? 换行 不影响啊. 你是出了什么错误先
qq1119753812 2009-10-21
  • 打赏
  • 举报
回复
我怀疑是因为值里面有换行,导致了错误
qq1119753812 2009-10-21
  • 打赏
  • 举报
回复
东西是出来了,但是我
var Json = [];
eval("Json=" + html);
的时候,读不出来
tkscascor 2009-10-21
  • 打赏
  • 举报
回复
?? 你要换行干嘛?
qq1119753812 2009-10-21
  • 打赏
  • 举报
回复
换行呢,回车呢,怎么算?
tkscascor 2009-10-21
  • 打赏
  • 举报
回复
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();
}
wszhoho 2009-10-21
  • 打赏
  • 举报
回复
没有好不好,除了循环,想不出来用什么办法来追求更好的效率了。

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧