您好,我们为您提供软件开发、品牌形象策划、网站建设等服务,如您有需求请咨询:13526529836
A Better Tomorrow

ASP 解析json

来源:互联网 添加时间:2021/10/26 23:14:49
第一个方法是使用 JScript ,第二个方法是使用MS的脚本控件(也一样是使用了 JScript):

第一个方法是使用 JScript :

<br><br><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"", 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



公司地址:郑州中原国家广告产业园3号楼8楼171室 联系电话:13526529836
河南寻唐软件科技有限公司 版权所有 豫ICP备14010601号-1