JSON(Javascript Object Notation) 我想這個名字大家已經不陌生了,它是一種輕量級的資料交換格式,是由服務直接產生Javascript語句,用戶端擷取後直接用eval方法來獲得這個對象,這樣就可以省去解析XML解析帶來的效能問題和相容性問題,而且對於Javascript來說非常容易使用,可以方便的通過遍曆數組以及訪問對象屬性來擷取資料,其可讀性也不錯,基本具備了結構化資料的性質。不得不說是一個很好的辦法,例如google maps就沒有採用XML傳遞資料,而是採用了JSON方案。這裡我給大家舉一個ASP調用Json的例子,起到一個拋磚引玉的作用吧...... 以下是tset.asp程式碼片段:
<!--#include file="jsonParse.asp"--><%Dim strTeststrTest = "{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 fathergetJSArrayItem father, objTest.family.parents, 0Response.Write father%>
以上是調用的輸出頁面,核心頁面請......
以下是jsonParse.asp程式碼片段:
<%Option ExplicitDim sc4JsonSub InitScriptControl Set sc4Json = Server.CreateObject("MSScriptControl.ScriptControl") sc4Json.Language = "JavaScript" sc4Json.AddCode "var itemTemp=null;function getJSArray(arr, index){itemTemp=arr[index];}"End SubFunction getJSONObject( strJSON ) sc4Json.AddCode "var jsonObject = " & strJSON Set getJSONObject = sc4Json.CodeObject.jsonObjectEnd FunctionSub 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.itemTempEnd Sub%>