使用 ASPjson 解析 JSON 对象
Parse a JSON object using ASPjson
在 Classic ASP (VBScript) 中,我可以使用 request.form
执行 POST 的一般请求,或者使用 request.querystring
执行 GET 请求,这会给我整个字符串已发送。
但是,我现在需要从客户端位置接收 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")
在 Classic ASP (VBScript) 中,我可以使用 request.form
执行 POST 的一般请求,或者使用 request.querystring
执行 GET 请求,这会给我整个字符串已发送。
但是,我现在需要从客户端位置接收 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")