gpt4 book ai didi

json - VBA中使用ScriptControl解析JSON : transform result to dictionaries and collections

转载 作者:行者123 更新时间:2023-12-05 08:10:20 28 4
gpt4 key购买 nike

我想用Microsoft ScriptControl 在VBA 中解析一个JSON 字符串,然后将得到的Object 转换成Dictionary 和Collection 对象。我已经知道如何使用 ScriptControl 进行解析,但不知道如何将结果映射到 Dictionary 和 Collection 类中。我猜想如果我能弄清楚如何循环遍历对象的属性,这就会变得很清楚...

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。

编辑:我在 this 中找到了关于获取对象属性的讨论。邮政。

最佳答案

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

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

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

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

关于json - VBA中使用ScriptControl解析JSON : transform result to dictionaries and collections,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10691644/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com