JSON( Object Notation) 我想這個名字大家已經不陌生了,它是一種輕量級的資料交換格式 , 是由服務直接產生語句,用戶端擷取後直接用 eval 方法來獲得這個對象,這樣就可以省去解析 XML 解析帶來的效能問題和相容性問題,而且對於來說非常容易使用,可以方便的通過遍曆數組以及訪問對象屬性來擷取資料,其可讀性也不錯,基本具備了結構化資料的性質。不得不說是一個很好的辦法,例如 google maps 就沒有採用 XML 傳遞資料,而是採用了 JSON 方案。
這裡我給大家舉一個 ASP 調用 Json 的例子,起到一個拋磚引玉的作用吧 .....
以下是 tset.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 objTest
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
%>
以下是 jsonParse.asp 程式碼片段
<%
Option Explicit
Dim sc4Json
Sub InitScriptControl
Set sc4Json = Server.CreateObject("MSScriptControl.ScriptControl")
sc4Json.Language = ""
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
End If
objDest = sc4Json.CodeObject.itemTemp
End Sub
%>