热度 22
2015-8-3 17:01
1317 次阅读|
0 个评论
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: , family:{parents: ,toString:function(){return ""家庭成员"";}}}" Dim objTest InitScriptControl Set objTest = getJSONObject( strTest ) % %=objTest.name%的邮件地址是%=sc4Json.Eval("jsonObject.email ")%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 ;}" 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 %