Datatable内容转换成特定格式字符串,大家进来帮忙看看!

nattystyle 2014-08-03 11:39:39
现在有Datatable内容如下:

id name
1 财务总监
2 会计
3 出纳
4 市场总监

想转换得到这样的字符串:

{ '1': '财务总监', '2': '会计', '3': '出纳', '4': '市场总监' }


求最简洁的代码
...全文
329 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
nattystyle 2014-08-03
  • 打赏
  • 举报
回复
引用 3 楼 caozhy 的回复:
string json = "{ " + string.Join(" ,", Datatable.Rows.Cast<DataRow>().Select(x => string.Format("\"{0}\" : \"{1}\"", x["id".ToString(), x["name"].ToString()])).ToArray()) + " }";
Datatable.Rows.Cast<DataRow>()处报错 没有Cast方法吧
threenewbee 2014-08-03
  • 打赏
  • 举报
回复
string json = "{ " + string.Join(" ,", Datatable.Rows.Cast<DataRow>().Select(x => string.Format("\"{0}\" : \"{1}\"", x["id".ToString(), x["name"].ToString()])).ToArray()) + " }";
nattystyle 2014-08-03
  • 打赏
  • 举报
回复
引用 1 楼 guwei4037 的回复:
直接for循环拼接字符串就是了。
求最简洁代码!!!
全栈极简 2014-08-03
  • 打赏
  • 举报
回复
直接for循环拼接字符串就是了。
smthgdin_020 2014-08-03
  • 打赏
  • 举报
回复
引用 6 楼 smthgdin 的回复:
或者类似这样: StringBuilder strBuilder = new StringBuilder(); foreach(var item in ds.DataTable[0].Rows) { strBuilder.Append(item[0].ToString() + ":" + item[1].ToString()); } return "{" + strBuilder.ToString() + "}";
append还少了拼逗号。
smthgdin_020 2014-08-03
  • 打赏
  • 举报
回复
或者类似这样: StringBuilder strBuilder = new StringBuilder(); foreach(var item in ds.DataTable[0].Rows) { strBuilder.Append(item[0].ToString() + ":" + item[1].ToString()); } return "{" + strBuilder.ToString() + "}";
smthgdin_020 2014-08-03
  • 打赏
  • 举报
回复
使用linq to datset。 private void button10_Click(object sender, EventArgs e) { //初始化dataset DataSet ds = new DataSet(); DataTable dt = new DataTable(); dt.Columns.Add("id"); dt.Columns.Add("name"); DataRow r1 = dt.NewRow(); r1[0] = 1; r1[1] = "财务总监"; DataRow r2 = dt.NewRow(); r2[0] = 2; r2[1] = "会计"; DataRow r3 = dt.NewRow(); r3[0] = 3; r3[1] = "出纳"; dt.Rows.Add(r1); dt.Rows.Add(r2); dt.Rows.Add(r3); ds.Tables.Add(dt); //end string aa = "{" + string.Join( ",", ds.Tables[0].AsEnumerable() .Select(x => string.Format("\"{0}\" : \"{1}\"", x["id"].ToString(), x["name"].ToString())) .ToArray() ) + "}"; }

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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