VBScript把json字符串解析成json对象的2个方法
来源:易贤网 阅读:2378 次 日期:2014-08-12 09:38:13
温馨提示:易贤网小编为您整理了“VBScript把json字符串解析成json对象的2个方法”,方便广大网友查阅!

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

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

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

名单

代码如下:

<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) 

更多信息请查看IT技术专栏

更多信息请查看脚本栏目
由于各方面情况的不断调整与变化,易贤网提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:易贤网
云南网警报警专用图标