vbscript - 使用 ASPjson 解析 JSON 对象
问题描述
在经典 ASP (VBScript) 中,我可以使用 POSTrequest.form
或 GET 进行一般请求,request.querystring
这会给我发送的整个字符串。
但是,我现在需要从客户端位置接收JSON 对象。这是它可能看起来的示例:
{
"firstName": "John",
"lastName" : "Smith",
"age" : 25
}
如何请求整个对象(然后我将使用ASP.JSON对其进行解析)?
PS:我知道我可以在客户端将 JSON 对象转换为字符串,然后在服务器端解析为文本,但这感觉像是一种变通方法,而不是直接的解决方案。
解决方案
首先,我不会使用那个 AspJson,但是这个:https ://github.com/rcdmk/aspJSON
其次,您接收的不是对象本身,而是包含“json 对象的字符串版本”的请求。在这种情况下,可能是字节,这就是为什么您要先使用 BinaryRead 并将其转换为正文。
然后,您将能够使用所需的任何解析器解析正文。
现在让我们尝试给您一个示例代码:
<%Response.LCID = 1033%>
<!--#include file="__jsonObject.class.v3.8.1.asp" -->
Set UTF8Enc = CreateObject("System.Text.UTF8Encoding") ' .NET COMPONENT, required on the server app pool
Set JSON = new JSONobject
lngBytesCount = Request.TotalBytes
request_body = UTF8Enc.GetString(Request.BinaryRead(lngBytesCount))
Set request_json = JSON.parse(request_body)
first_name = request_json("firstName")
last_name = request_json("lastName")
age = request_json("age")
推荐阅读
- swift - 在 indexPath 处获取 UISwitch 状态到 UIcollectionView
- mysql - 将数据从一个表复制到另一个具有特定条件的表
- android - 带有 `?` 的可空 var 与 lateinit var
- ios - 相当于 OpenGL 混合的金属
- c# - 无缘无故的错误请求
- firebase - PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 12500: , null)
- javascript - 为什么我不能应用 redux 的 connect with material-ui withStyles?
- java - 您可以使用 return 语句简单地返回一系列字符串吗?
- c++ - 使用 _tcscpy_s 将 CString 复制到 TCHAR*
- python - 将 SeleniumLibrary 导入 Robotframework 的问题