我是VBA的新手,我无法弄清楚如何从Collection中获取值。
这是我的代码:
Dim p As Object
Set p = JSON.parse(Response.Content)
Dim links As Object
Set links = p.Item("links")
在"链接"的调试器中我明白了:
我正在使用此库来解析json:http://www.ediy.co.nz/vbjson-json-parser-library-in-vb6-xidc55680.html
我在json中的部分是:
"links":[
{
"rel":"next",
"href":"www.google.com"
}
]
如何获得" rel"的价值?这里吗?
答案 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