转载--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代码片段: <%
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
%>
<%
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
%>
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
%>
相关文章推荐
- asp.net中json格式化及在js中解析json
- [转载]解析Asp.net中资源本地化的实现
- asp.net和Jquery中详细解析json数据格式!(有实例)
- ASP解析JSON格式数据方法
- Asp.net Json数据解析的一种思路
- asp.net 解析json数据
- asp如何解析json数组(高分求教)
- Jquery下Json数据的传递与解析(asp.net mvc与asp.net api下后台json接收方式的不同)
- asp读取解析JSON的几种方法
- [乐意黎转载]json的解析与序列化
- 转载:在ASP.net 3.5中 用JSON序列化对象(两种方法)
- ASP.NET 使用 System.Web.Script.Serialization 解析 JSON (转)
- (转载)ASP.NET三大核心对象及基础功能解析
- asp.net后台解析JSON,并将值赋给对象
- asp.net中Jquery解析json数据格式
- asp.net ajax解析json数据(运用List<Hashtable>装数据)
- (转载)Unity3D研究院之使用 C#合成解析XML与JSON(四十一)
- 一个.NET通用JSON解析/构建类的实现(c#)(转载)
- asp.net使用DataContractJsonSerializer将对象解析为JSON
- C# json解析类--转载