我正在尝试将 ASP 中的 SQL 查询序列化为 json 对象,如下所示:
[["姓名1","电话1","电子邮件1","地址1"],["姓名2","电话2","电子邮件2","地址2"]]
我已经做了两个循环来遍历数据库的列和行,这就是我到目前为止的方式;
<!--#include file="JSON_2.0.4.asp"-->
SQL = "SELECT name, phone, email, address FROM clients"
Set Connection = Server.CreateObject("ADODB.Connection")
Set Recordset = Server.CreateObject("ADODB.Recordset")
Connection.Open "Provider=sqloledb;SERVER=localhost;DATABASE=mydatabase;UID=;PWD=1234;"
Recordset.Open SQL,Connection
rsArray = Recordset.getRows()
ReDim arrObj(UBound(rsArray, 2) - 1)
Dim i, j
For i = 1 To UBound(rsArray, 2)
ReDim arrProp(UBound(rsArray, 1))
For j = 0 To UBound(rsArray, 1)
arrProp(j) = rsArray(j, i)
Next
Next
Response.Write toJSON(arrProp)
我在这里犯了什么错,我尝试改变每个可能的值。 结果只给出了表的最后一行(如下所示),当然我想检索表中的每一行。 预先感谢您提供任何可能的答案。
[“音乐时尚”、“214478457”、“[email protected]”、“Av. Quinta Grande,8 R/C Esq.”]
最佳答案
需要构建一个数组的数组
,例如Array(Array(col1,col2,col3), Array(col1,col2,col3))
以获得所需的结果通过toJSON
。
您可以使用如下所示的方法来完成此操作。
rsArray = Recordset.getRows()
ReDim Rows(UBound(rsArray, 2))
ReDim Row(UBound(rsArray, 1))
For i = 0 To UBound(Rows)
For j = 0 To UBound(Row)
Row(j) = rsArray(j, i)
Next
Rows(i) = Row
Next
Response.Write toJSON(Rows)
关于sql-server - 经典 ASP 中 SQL 查询序列化为 json 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12219597/