阅读(2455)

ASP 处理JSON数据的实现代码

最后一次修改 2017年08月21日

ASP也能处理JSON数据?呵呵,刚才在Pjblog论坛上看到一个兄弟写的文章,没有测试,不过理论上一定是可以的~ 太晚了,不测试了。

以前处理JSON太麻烦了,输出还好说,循环一下就可以了,解析真的很头疼。所以遇到 这种问题API问题,一般都是XML处理,不太喜欢,很麻烦。

<%
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
%>