微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ASP 解析json

一个方法是使用 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 %> <script language="JScript" runat="Server"> function ToObject(json) { var o; eval("o=" + json); return o; } </script> <% set obj1 = ToObject("{aaa:""aaaa"",bbb: ""bbbb""}") Response.Write obj1.aaa & "<br />" %>

  

第二个方法是使用MS的脚本控件(也一样是使用了 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"",""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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐