VBA中使用JavaScript脚本语言解析JSON数据
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了VBA中使用JavaScript脚本语言解析JSON数据,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2027字,纯文字阅读大概需要3分钟。
内容图文
JSON:JavaScript 对象表示法(JavaScript Object Notation)
和xml相似,都是文本形式(保存在文本文件中或字符串等形式),比如:
jsstr = {"系别":"历史系","班级":"一班", "学员":[ {"姓名":"张三","年龄":25,"性别":"男"}, {"姓名":"李四","年龄":20,"性别":"男"}, {"姓名":"小明","年龄":20,"性别":"女"} ] }
1、{}表示对象,[]表示数组,数组的成员可以是对象,使用“属性:值”键值对形式表示属性。
本例中jsstr对象有三个属性:系别,班级,学员。其中“学员”属性的值是一个包含三名学员对象的数组,
2、相对XML更轻量,xml的标签比数据还要多。
在VBA中可以使用Javascript解析json对象:
先引用Microsoft Script Control 1.0,文件是:msscript.ocx
1 Sub TestJson() 2 Dim jsstr AsString 3 4‘vb搞个字符串要加n个引号,真是烦人 5 jsstr = "{""系别"":""历史系"",""班级"":""一班""," & _ 6"""学员"":[{""姓名"":""张三"",""年龄"":25,""性别"":""男""}," & _ 7"{""姓名"":""李四"",""年龄"":20,""性别"":""男""}," & _ 8"{""姓名"":""小明"",""年龄"":20,""性别"":""女""}" & _ 9"]" & _ 10"}"1112‘前期绑定方便使用智能提示13Dim scobj AsNew MSScriptControl.ScriptControl 14Dim age AsInteger1516‘ScriptControl使用的脚本语言。除了js,也支持Vbscript17 scobj.Language = "JavaScript"1819‘往脚本里添加代码,参数是字符串20 scobj.AddCode ("var query = " & jsstr) 2122‘JSON对象表示成员可以用:对象.属性23‘属性如果是个包含多个对象的数组,可以使用索引表示:对象.属性[0]24‘Eval是表达式求值25 age = scobj.Eval("query.学员[2].年龄") 2627 Debug.Print "历史系一班的第3个学员的年龄是" & age & "岁"2829End Sub
1、javascript是弱类型语言。定义变量的关键字是var
var x; var y = 10 ; var name = "张三" ;
2、Eval是表达式求值,参数是字符串,如果是解析一个JSON对象,最好是使用一对括号把文本包括住,这样可以避免语法错误。
var obj = eval ("(" + jsstr + ")");
3、CodeObject方法,暴露JSON对象给VB。(这个方法没摸透)
1 Sub TestJson2() 2 Dim jsstr1 AsString 3Dim jsstr2 AsString 4 jsstr1 = "{""姓名"":""张三"",""性别"":""男""}" 5 jsstr2 = "{""姓名"":""小花"",""性别"":""女""}" 6 7Dim scobj AsNew MSScriptControl.ScriptControl 8 scobj.Language = "JavaScript" 9 scobj.AddCode ("var query1 = " & jsstr1) ‘query1,query2分别是两个Javascript对象10 scobj.AddCode ("var query2 = " & jsstr2) 11 ‘CallByName分别取出CodeObject中的query1、query2对象,并找到姓名属性的值
12 Debug.Print CallByName(CallByName(scobj.CodeObject, "query1", VbGet), "姓名", VbGet) 13 Debug.Print CallByName(CallByName(scobj.CodeObject, "query2", VbGet), "姓名", VbGet) 1415End Sub
CallByName是VB中的方法。
通过本地视图可以看到scobj对象和内部的codeobject
原文:http://www.cnblogs.com/zzstone/p/5569723.html
内容总结
以上是互联网集市为您收集整理的VBA中使用JavaScript脚本语言解析JSON数据全部内容,希望文章能够帮你解决VBA中使用JavaScript脚本语言解析JSON数据所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。