ASP 解析 JSON 例子
JSON(ObjectNotation)我想这个名字大家已经不陌生了,它是一种轻量级的数据交换格式,是由服务直接生成语句,客户端获取后直接用eval方法来获得这个对象,这样就可以省去解析XML解析带来的性能问题和兼容性问题,而且对于来说非常容易使用,可以方便的通过遍历数组以及访问对象属性来获取数据,其可读性也不错,基本具备了结构化数据的性质。不得不说是一个很好的办法,例如googlemaps就没有采用XML传递数据,而是采用了JSON方案。
这里我给大家举一个ASP调用Json的例子,起到一个抛砖引玉的作用吧.....
以下是tset.asp代码片段
<!--#includefile="jsonParse.asp"-->
<%
DimstrTest
strTest="{name:""alonely"",age:24,email:["":[""父亲"",""母亲""],toString:function(){return""家庭成员"";}}}"
DimobjTest
InitScriptControl
SetobjTest=getJSONObject(strTest)
%>
<%=objTest.name%>的邮件地址是<%=sc4Json.Eval("jsonObject.email[0]")%><BR>
共有邮件地址<%=objTest.email.length%>个<BR>
<%
Dimfather
getJSArrayItemfather,objTest.family.parents,0
Response.Writefather
%>
以下是jsonParse.asp代码片段
<%
OptionExplicit
Dimsc4Json
SubInitScriptControl
Setsc4Json=Server.CreateObject("MSScriptControl.ScriptControl")
sc4Json.Language=""
sc4Json.AddCode"varitemTemp=null;functiongetJSArray(arr,index){itemTemp=arr[index];}"
EndSub
FunctiongetJSONObject(strJSON)
sc4Json.AddCode"varjsonObject="&strJSON
SetgetJSONObject=sc4Json.CodeObject.jsonObject
EndFunction
SubgetJSArrayItem(objDest,objJSArray,index)
OnErrorResumeNext
sc4Json.Run"getJSArray",objJSArray,index
SetobjDest=sc4Json.CodeObject.itemTemp
IfErr.number=0Then
ExitSub
EndIf
objDest=sc4Json.CodeObject.itemTemp
EndSub
%>