在VBA中解析JSON,没有任何外部库

时间:2014-09-06 11:16:39

标签: json vba excel-vba excel

我真的在这里结束了......我正在使用VB-JSON Parser(http://www.ediy.co.nz/vbjson-json-parser-library-in-vb6-xidc55680.html)并且我有以下数组:

[{"timestamp":1410001952,"tid":2834225,"price":"483.77"}]

文档非常简单,我不知道如何访问数组,现在已经搜索了几个小时来解决这个问题。

我怎样才能得到"价格"值?我知道我可以在没有阵列的情况下使用.item("price")但是当我没有阵列时我不知道该怎么做而前面没有名字。

2 个答案:

答案 0 :(得分:1)

首先看看Parsing JSON in Excel VBA 它解释了解析JSON字符串的JScript方式。

通过网络浏览,我发现很难获得完整的基于VBA的JSON解析器。 VB版本中提供了一些选项,然后很少有在线解析器承诺解析JSON并在Excel中转​​换它们。这些可以使用简单的JSON数据结构工作。但是,一旦您使用嵌套数组和结构提供复杂数据集,它们就会失败。

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

JavaScript的EvalgetKeysgetProperty方法提供了验证和读取JSON的构建块。

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

在这里,您可以找到complete VBA example.

答案 1 :(得分:0)