ASP 处理JSON数据的实现代码(js调用asp数据)居然可以这样

随心笔谈3年前发布 admin
195 0 0

文章摘要

这篇代码展示了如何利用MSScriptControl将JavaScript功能集成到VBScript中,并通过JSON数据进行处理。代码定义了`InitScriptControl`函数用于初始化脚本控制,`getJSONObject`函数用于解析JSON字符串,返回JSON对象。此外,`getJSArrayItem`函数用于从JSON对象中获取特定数组中的元素。代码还通过测试字符串`strTest`演示了如何使用这些函数提取信息:获取`name`属性的邮件地址、统计`email`数组的长度,并从`family`数组中获取第一个元素的值。整体展示了如何通过MSScriptControl实现JavaScript功能的VBScript封装。


<%
Dim sc4Json
Sub InitScriptControl
Set sc4Json=Server.CreateObject(“MSScriptControl.ScriptControl”)
sc4Json.Language=”JavaScript”
sc4Json.AddCode “var itemTemp=null;function getJSArray(arr, index){itemTemp=arr[index];}”
End Sub

Function getJSONObject(strJSON)
sc4Json.AddCode “var jsonObject=” & strJSON
Set getJSONObject=sc4Json.CodeObject.jsonObject
End Function

Sub getJSArrayItem(objDest,objJSArray,index)
On Error Resume Next
sc4Json.Run “getJSArray”,objJSArray, index
Set objDest=sc4Json.CodeObject.itemTemp
If Err.number=0 Then Exit Sub
objDest=sc4Json.CodeObject.itemTemp
End Sub

Dim strTest
strTest=”{name:””alonely””, age:24, email:[“”ycplxl1314@163.com””,””ycplxl1314@gmail.com””], family:{parents:[“”父亲””,””母亲””],toString:function(){return “”家庭成员””;}}}”
Dim objTest
Call InitScriptControl
Set objTest=getJSONObject(strTest)
%>
<%=objTest.name%>的邮件地址是< %=sc4Json.Eval(“jsonObject.email[0]”)%><br />共有邮件地址< %=objTest.email.length%>个<br />
<%
Dim father
getJSArrayItem father, objTest.family.parents, 0
Response.Write father
%>

© 版权声明

相关文章