ASP读取、解析JSON数据

ASP新手入门
第一种Jscript方式:

<script language="jscript" runat="server">  
    Array.prototype.get = function(x) { return this[x]; };  
    function parseJSON(strJSON) { return eval("(" + strJSON + ")"); }  
    </script>  
    <%  
    Dim json, obj  
    json = "{a:""aaa"", b:{ name:""bb"", value:""text"" }, c:[""item0"", ""item1"", ""item2""]}"  
    Set obj = parseJSON(json)  
      
    Response.Write obj.a & "<br />"  
    Response.Write obj.b.name & "<br />"  
    Response.Write obj.c.length & "<br />"  
    Response.Write obj.c.get(0) & "<br />"  
      
    Set obj = Nothing  
    %>


第二种间接采用JScript方式:

Dim scriptCtrl  
    Function parseJSON(str)  
        If Not IsObject(scriptCtrl) Then  
            Set scriptCtrl = Server.CreateObject("MSScriptControl.ScriptControl")  
            scriptCtrl.Language = "JScript"  
            scriptCtrl.AddCode "Array.prototype.get = function(x) { return this[x]; }; var result = null;"  
        End If  
        scriptCtrl.ExecuteStatement "result = " & str & ";"  
        Set parseJSON = scriptCtrl.CodeObject.result  
    End Function  
      
    Dim json  
    json = "{a:""aaa"", b:{ name:""bb"", value:""text"" }, c:[""item0"", ""item1"", ""item2""]}"  
      
    Set obj = parseJSON(json)  
      
    Response.Write obj.a & "<br />"  
    Response.Write obj.b.name & "<br />"  
    Response.Write obj.c.length & "<br />"  
    Response.Write obj.c.get(0) & "<br />"  
      
    Set obj = Nothing  
      

    Set scriptCtrl = Nothing


第三种方法:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
 <% 
 response.charset="utf-8"
session.codepage=65001 
%>

<script language="JScript" runat="Server">
function ToObject(json) {
    var o;
    eval("o=" + json);
    return o;
}
function toArray(s){
    var dic = Server.CreateObject("Scripting.Dictionary")
    eval("var a=" + json);
    for(var i=0;i<a.length;i++){
        var obj = Server.CreateObject("Scripting.Dictionary")
        for(x in a[i]) obj.Add(x,a[i][x])
        dic.Add(i, obj);
    }
    return dic
}
</script>
<%
json = "[{""date"":""周四 08月07日 (实时:2)"",""weather"":""晴"",""wind"":""微风"",""temperature"":""21""},{""date"":""周五"",""weather"":""多云"",""wind"":""微风"",""temperature"":""31 ~ 22""},{""date"":""周六"",""weather"":""多云转阴"",""wind"":""微风"",""temperature"":""30 ~ 22""},{""date"":""周日"",""weather"":""阴转晴"",""wind"":""微风"",""temperature"":""31 ~ 22""}]"
 
Set ob = toArray(json)
For i=0 To ob.Count-1
  Response.Write ob(i)("date") & " " 
next
 
Set ob = Nothing
%>
 

</body>
</html>



相关内容推荐

周的天数

想在asp显示当前一周有多少天吗?这个代码会把握住今天的值和利用到案例选择显示一周的天数。 % date_value = date() %%= date_value %br% dayofweek=weekday(date_value) %day number in week %= dayofweek %br%

编写第一个ASP程序

现在有很多关于ASP编程的教程。其中有些是对于你有帮助,有些完全没有用。甚至有些写得是误人子弟。无论如何,你读过一些关于ASP的内容,现在你已经准备好构建第一个应用程序。

ASP表单输入到HTML

ASP能写.html或者任何其他的直接到web服务器的文档文本(你需要写文本输出到写权限的目录)。这是能够不需要上传PC的文件用户输入即时的发布信息。 下面的例子有四个输入区域(标

asp获取IP地址的函数

FunctionGetIp() DimDulIp,ProIP DulIp=Request.ServerVariables("HTTP_X_FORWARDED_FOR") ProIP=Request.ServerVariables("REMOTE_ADDR") IfDulIp=""Then GetIp=ProIP Else GetIp=DulIp EndIf EndFunction

ASP-条件语句

有时,当我们写代码时,我们要为作出不同的决定而执行不同的操作。我们可以使用条件语句中的代码来做到这一点。条件语句是一套用于执行基于不同条件的不同动作的命令。 为了支

返回
顶部