gpt4 book ai didi

json - 如何从excel vba-json中的JSON嵌套数组中获取数据

转载 作者:行者123 更新时间:2023-12-04 20:09:37 25 4
gpt4 key购买 nike

我正在准备某种带有 API 的 Excel 软件,我正在使用 vba-json 库,但我不知道如何从 JSON 上的嵌套数组中获取数据。

我在这里尝试了一些教程和其他类似的问题。但每次我尝试我都会得到一个不同的错误。运行时错误 5、9、13。尝试了不同的方法来访问数据,但每次进入数组时都会出错。

Set MyRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
MyRequest.Open "GET", "https://pokeapi.co/api/v2/pokemon/ditto/?fbclid=IwAR2pJwAgODOlI-Gdn8pH-RDFCcUfQWiYLZIVCnP8e-V_9gEwYymqRldpiFk"
MyRequest.Send

Dim Json As Object
Set Json = JsonConverter.ParseJson(MyRequest.ResponseText)
MsgBox Json("stats")("id")(0)("base_stat")

我想从选定的数组中获取数据,以便以后能够使用它,例如从

("stats")("id")(0)("base_stat")



得到

48



Json 源代码在代码上。

最佳答案

因此,对于 JSON,[] 表示您可以 For Each 并通过索引访问的集合,{} 表示您可以 For Each 的字典键或按键访问项目的字典。

您可以通过将其粘贴到 json 查看器(例如 this)来感受结构。 .您需要熟悉阅读 json,但您会看到,对于您想要的值,它具有以下路径:

json("stats")(1)("base_stat")

注意:对于 VBA JSON 中的集合,索引从 1 开始,尽管它在查看器中显示为 0。

读取结构:

enter image description here
Option Explicit

Public Sub test()
Dim Json As Object
With CreateObject("WinHttp.WinHttpRequest.5.1")
.Open "GET", "https://pokeapi.co/api/v2/pokemon/ditto/?fbclid=IwAR2pJwAgODOlI-Gdn8pH-RDFCcUfQWiYLZIVCnP8e-V_9gEwYymqRldpiFk"
.send
Set Json = JsonConverter.ParseJson(.responseText)
End With
MsgBox Json("stats")(1)("base_stat")
End Sub

请注意,StackOverflow 上有各种答案,它们提供的代码将列出 json 结构中每个项目的访问路径。特别是,我记得来自@tinman here 的精彩回答.它不能替代学习阅读 JSON,而是帮助和检查您的理解的出色工具。

关于json - 如何从excel vba-json中的JSON嵌套数组中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56926193/

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