sql-server - 经典 ASP 中 SQL 查询序列化为 json 文件

标签 sql-server json asp-classic

我正在尝试将 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/

相关文章:

asp-classic - 连接超时不起作用

vbscript - 无法在VBScript中捕获8004020f错误

python - 使用 pyodbc 将 SQL Server 中的数据读取到 pandas

mysql - 从库存中获取可用设备的 SQL 语句

java - 将对象添加到 JSONObj

java - Jackson 将 JSON 对象字段反序列化为单个列表属性

asp.net - 我应该开始学习经典的 VB/ASP 还是 .NET?

c# - 在 Entity Framework 中使用 Include 方法时如何获取特定的行数?

sql - 查找 SQL 临时表的数据类型

javascript - 使用 Ext 解析简单的 JSON 给出 SyntaxError : Unexpected token ILLEGAL