ASP 解析 JSON 例子

2013 年 2 月 14 日4930

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

点这里查看更多ASP教程

0 0