当前位置 博文首页 > VBScript把json字符串解析成json对象的2个方法

    VBScript把json字符串解析成json对象的2个方法

    作者:admin 时间:2021-02-01 15:11

    asp/vbscript将json字符解析为json对象的方法,如果asp使用jscript来编写服务器端代码操作json字符串就简单了,vbscript需要MSScriptControl.ScriptControl或者服务器端的jscript来作为中间体才行。

    vbscript将json字符解析为json对象的方法一

    使用MSScriptControl.ScriptControl组件,请用IE浏览器运行本示例,会有安全提示,需要点击“是”允许创建。

    MSScriptControl.ScriptControl组件的用法实例

    MSScriptControl.ScriptControl组件属性、方法、事件介绍

    <script language="vbscript">
    Dim sc4Json
    Sub InitScriptControl
      Set sc4Json = 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.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
      objDest = sc4Json.CodeObject.itemTemp
    End Sub
     
    Dim strTest
    strTest = "{name:""alonely"", age:24,hello:function(){return '你好!';}, email:[""ycplxl1314@163.com"",""ycplxl1314@gmail.com""], family:{parents:[""父亲"",""母亲""],toString:function(){return ""家庭成员"";}}}"
    Dim objTest
    Call InitScriptControl'初始化MSScriptControl.ScriptControl组件
    Set objTest = getJSONObject(strTest)'创建JSON对象
    '对象属性操作
    msgbox objTest.name&"-"&objTest.age
    '数组操作
    getJSArrayItem email,objTest.email,0
    msgbox email
    '执行方法
    msgbox objTest.hello()
    msgbox objTest.family.toString()
    </script>

    vbscript将json字符解析为json对象的方法二

    用jscript作为中间体

    <script language="javascript">//运行在服务器端时,增加runat="server"属性
    Array.prototype.get = function(x) { return this[x]; }; 
    function parseJSON(strJSON) { return eval("(" + strJSON + ")"); } 
    </script> 
    <script language="vbscript">
    Dim json, obj 
    json = "{a:""aaa"", b:{ name:""bb"", value:""text"" }, c:[""item0"", ""item1"", ""item2""]}" 
    Set obj = parseJSON(json) 
    </script>

    这篇文章就介绍到这了,需要的朋友可以参考一下。

    js