关于SQL查询结果集转JSON字符串的问题 不会json,不过我觉得最好用编程语言来实现这些功能 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个建议直接用存储过程来做。另外,由于临时表是放在tempdb数据库中的,所以临时表的开销,可以通过在tempdb中多添加几个文件,来适当的降低临时表的开销的,另外,适当增大文件的大小。 前端有很多转的API啊。参考http://json.codeplex.com/ 大神,你的球还没回来啊?前端有很多转的API啊。参考http://json.codeplex.com/ function TableToJson(tableid) { var txt = "["; var table = document.getElementById(tableid); var row = table.getElementsByTagName("tr"); var col = row[0].getElementsByTagName("th"); for (var j = 1; j < row.length; j++) { var r = "{"; for (var i = 0; i < col.length; i++) { var tds = row[j].getElementsByTagName("td"); r += "\"" + col[i].innerHTML + "\"\:\"" + tds[i].innerHTML + "\","; } r = r.substring(0, r.length - 1) r += "},"; txt += r; } txt = txt.substring(0, txt.length - 1); txt += "]"; return txt; }这是JS 的写法,,可以仿照这里 你不需要获取表的列头啊,类型什么的,你从数据库里面取出的dataset里面本身就含有了列头信息,而且已经有直接转换为JSON格式的方法,不需要你去操心。在后台或者前端用JS都可以转。 补充说明一下,我是要在SQL Server中用TSQL写个函数直接输出JSON,而不是取个表给前端的程序去转。 前端有很多转的API啊。参考http://json.codeplex.com/经测试,这个绿色的球,看来短期是回不来了.... 函数的输出结果很确定,就是一个Nvarchar(Max),但是输入的参数有两个,第一个是个结构不固定表值参数(其结构由生成它的查询语句决定),第二个是生成的JSON变量名。比如,函数名为tojson,查询记录集有三个字段"A"、"B"、"C",查询出了两条记录分别是1、2、3和a、b、c,要输出到JSON变量list1中,那么返回的结果就应该是:"list1":[{"A":"1","B":"2","C":"3"},{"A":"a","B":"b","C":"c"}]如果查询记录集有两个字段"X"、"Y",查询出了三条记录分别是x1、y1;x2、y2和x3、y3,要输出到JSON变量List2中,那么返回的结果就应该是:"list2":[{"X":"x1","Y":"y1"},{"X":"x2","Y":"y2"},{"X":"x3","Y":"y3"}] 如果传输结构不固定的表值参数比较困难的话,那么就传递查询SQL也行,这种情况下,又要如何做呢? 呵呵,之前做过,把json转化为记录的,就是还没有做过反过来,把数据转为jason的 函数搞不定……最后还是用的存储过程和临时表……只能把最后生成的JSON存在一个全局临时表里,供跨域的调用…… 关于SQL SERVER 附加数据库的问题 新手跪求:分组求和与一个功能的实现 F5等待强援…… 一个插入数据的问题 数据库如何存英文音标 求同一行中的一个字段计算返回多条记录 为何我在我的WINXP下装SQL SERVER2000的中文开发版,装完后实例老是连接启动不成功? 关于使用WEB助手向导生成html页面的问题? 如何通过互联网联接到某个连上互联网的局域网中的一台计算机上的MSSQL上 請教Nvarchar數據類型寫入問題 请问关于外连接的问题 关于sqlserver2005的临时表的问题 SQL2005连接Oracle死锁的问题,在线等。。。
参考http://json.codeplex.com/
参考http://json.codeplex.com/
function TableToJson(tableid) { var txt = "["; var table = document.getElementById(tableid); var row = table.getElementsByTagName("tr"); var col = row[0].getElementsByTagName("th"); for (var j = 1; j < row.length; j++) { var r = "{"; for (var i = 0; i < col.length; i++) { var tds = row[j].getElementsByTagName("td"); r += "\"" + col[i].innerHTML + "\"\:\"" + tds[i].innerHTML + "\","; } r = r.substring(0, r.length - 1) r += "},"; txt += r; } txt = txt.substring(0, txt.length - 1); txt += "]"; return txt; }这是JS 的写法,,可以仿照这里
参考http://json.codeplex.com/
经测试,这个绿色的球,看来短期是回不来了....
"list1":[{"A":"1","B":"2","C":"3"},{"A":"a","B":"b","C":"c"}]如果查询记录集有两个字段"X"、"Y",查询出了三条记录分别是x1、y1;x2、y2和x3、y3,要输出到JSON变量List2中,那么返回的结果就应该是:
"list2":[{"X":"x1","Y":"y1"},{"X":"x2","Y":"y2"},{"X":"x3","Y":"y3"}]
呵呵,之前做过,把json转化为记录的,就是还没有做过反过来,把数据转为jason的