VBA从集合中获取值?

时间:2014-10-07 06:08:06

标签: json excel vba excel-vba vb6

我是VBA的新手,我无法弄清楚如何从Collection中获取值。

这是我的代码:

Dim p As Object
Set p = JSON.parse(Response.Content)

Dim links As Object
Set links = p.Item("links")

在"链接"的调试器中我明白了:

enter image description here

我正在使用此库来解析json:http://www.ediy.co.nz/vbjson-json-parser-library-in-vb6-xidc55680.html

我在json中的部分是:

"links":[
    {
        "rel":"next",
        "href":"www.google.com"
    }
]

如何获得" rel"的价值?这里吗?

3 个答案:

答案 0 :(得分:3)

我会回答我自己的问题:

links(1).Item("rel")

...工作

此致..

答案 1 :(得分:3)

不要忘记按键操作设计的收集操作员:

links(1)!rel

或:

links(1)![rel] 'When there are spaces or reserved words.

答案 2 :(得分:1)

使用解析JSON的JavaScript功能,在ScriptControl之上,我们可以在VBA中创建一个解析器,它将列出JSON中的每个数据点。无论数据结构如何嵌套或复杂,只要我们提供有效的JSON,此解析器将返回完整的树结构。

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

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

您可以看到完整的VBA代码here