風雲論壇后台开发 → 浏览:帖子主题
* 帖子主题:发一个给 VBS 用的 JSON 处理工具
風雲 (ID: 3)
头衔:论坛版主
等级:天使
积分:1373
发帖:60
来自:保密
注册:2022/3/30 15:28:53
造访:2024/5/3 6:15:31
[ 第 1 楼 ] 回复
使用 VBS 开发 ASP 处理 JSON 时有这些不便:
1、VBS 没有处理 JSON 的方法,并且常见的用 eval 方式很不安全。
2、拼接 JSON 字符串很麻烦。

于是将论坛用的 json 处理方法略加修改以便仍在使用 vbs 开发的同学使用。
1、下载 json.zip(1.24Kb),解压到网站目录。
2、需要使用 JSON 的页面加入如下代码:
<script src="json.js" runat="server"></script>

然后就能愉快的使用 JSON 了。例如:
<%
str = "{""hello"", ""Hello World"", ""arr"": [ 111, 222 ]}"
Set Json = fromjson(str)
Response.Write Json.hello    ' 输出 Hello World
Response.Write Json.arr.item(0)    ' 输出 111
%>
对于 JS 的数组类型,可以使用 对象.item(index) 访问数组索引
2023/8/27 9:19:34 IP:已设置保密
風雲 (ID: 3)
头衔:论坛版主
等级:天使
积分:1373
发帖:60
来自:保密
注册:2022/3/30 15:28:53
造访:2024/5/3 6:15:31
[ 第 2 楼 ] 回复
构造 JSON 示例:
<script src="json.js" runat="server"></script>
<%
Set Json = jsObj(_
    "nick", "Guest", _
    "age", 18, _
    "arr", jsArr(121, jsObj("user", Nothing), 32), _
    "ext", jsObj( _
        "money", 123456.78, _
        "power", "100%" _
    ), _
    "now", now _
)
Response.Write Json.nick    ' 输出 Guest
Response.Write Json        ' 输出 JSON 化后的字符串
%>
这样便实现了 VBS 版 JSON 的 Lambda 写法。
2023/8/27 9:33:25 IP:已设置保密
風雲 (ID: 3)
头衔:论坛版主
等级:天使
积分:1373
发帖:60
来自:保密
注册:2022/3/30 15:28:53
造访:2024/5/3 6:15:31
[ 第 3 楼 ] 回复
如果需要输出数据库的内容,写法应该是:
Set Rows = jsArr()

While Not Rs.EOF
    Rows.push(jsObj("ID", Rs("ID").Value, "Nick", Rs("Nick").Value))
    Rs.moveNext
Wend

Response.Write jsObj("code", 0, "data", Rows)
2023/8/27 9:41:21 IP:已设置保密
分页: 1, 共 1 页
快速回复主题
账号/密码
用户: 没有注册? 密码:
评论内容