您的位置:首页 > 编程语言 > ASP

转载--ASP解析JSON

2009-05-05 11:41 447 查看
JSON(Javascript Object Notation) 我想这个名字大家已经不陌生了,它是一种轻量级的数据交换格式,是由服务直接生成Javascript语句,原理是由客户端获取后直接用eval方法来获得这个对象负值,这样就可以省去解析XML解析带来的性能问题(特别是XML文件很长的情况)和兼容性问题,而且对于Javascript来说非常容易使用(基本上就是直接使用),可以方便的通过遍历数组以及访问对象属性来获取数据,其可读性也不错。基本具备了结构化数据的性质。不得不说是一个很好的办法,例如google maps就没有采用XML传递数据,而是采用了JSON方案。   So...这里我给大家举一个ASP解析Json的例子,起到一个抛砖引玉的作用吧...... 以下是test.asp代码片段:
<!--#include file="jsonParse.asp"-->
<%
Dim strTest
strTest = "{name:""alonely"", age:24, email:[""ycplxl1314@163.com"",""ycplxl1314@gmail.com""], family:{parents:[""父亲"",""母亲""],toString:function(){return ""家庭成员"";}}}" Dim objTestInitScriptControlSet
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
%>

以下是jsonParse.asp代码片段:
<%
Option Explicit
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.Code
Object.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
End If
objDest = sc4Json.CodeObject.itemTemp
End Sub
%>

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: