首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ScriptControl解析VBA中的JSON :将结果转换为字典和集合

使用ScriptControl解析VBA中的JSON :将结果转换为字典和集合
EN

Stack Overflow用户
提问于 2012-05-21 19:49:27
回答 2查看 14.1K关注 0票数 3

我想使用微软ScriptControl解析VBA中的JSON字符串,然后将结果对象转换为Dictionary和Collection对象。我已经知道如何使用ScriptControl进行解析,但无法知道如何将结果映射到字典和集合类中。我猜想,如果我能弄清楚如何循环遍历对象的属性,这将变得很清楚……

代码语言:javascript
复制
Dim sc As ScriptControl
Dim obj As Variant

Set sc = CreateObject("ScriptControl")
sc.Language = "JScript"

Set obj = sc.Eval("("+json+")") ' json is a string containing raw JSON

' Now what?

顺便说一下,我使用了vba-json库来获得字典和集合方面的输出,但是我发现这个库有点慢。它不使用ScriptControl。

编辑:我在 post中找到了获取对象属性的讨论。

EN

回答 2

Stack Overflow用户

发布于 2015-03-02 15:27:20

使用解析JSON的JavaScript特性,在ScriptControl之上,我们可以在VBA中创建一个解析器,它将列出JSON中的每个数据点。不管数据结构多么嵌套或复杂,只要我们提供一个有效的JSON,这个解析器就会返回一个完整的树结构。

JavaScript的Eval、getKeys和getProperty方法为验证和读取JSON提供了构建块。

结合VBA中的递归函数,我们可以迭代JSON字符串中的所有键(最高到第n级)。然后,使用Tree控件(本文中使用)或字典,甚至在简单的工作表上,我们可以根据需要安排JSON数据。

VBA代码:http://ashuvba.blogspot.in/2014/09/json-parser-in-vba-browsing-through-net.html

票数 0
EN

Stack Overflow用户

发布于 2013-10-14 12:27:35

循环将帮助您在javascript中添加myitem(n)方法,从那里可以通过VB代码映射。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10691644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档