【问题标题】:Accessing JSON array within JSON object in VBA Excel using VBA-JSON使用 VBA-JSON 在 VBA Excel 中访问 JSON 对象内的 JSON 数组
【发布时间】:2018-02-28 22:32:06
【问题描述】:

我正在研究 VBA 宏,以通过 API 调用从网站访问实时数据。我正在为此使用 VBA-JSON 库。取数据主要有两种场景:

场景#1(我们可以看到data是一个JSON数组):

{
  "success": true,
  "data": [
    {
      "id": 4,
      "creator_user_id": {
        "id": 162,
        "name": "ASD",
        "email": "email id"

      },
      "user_id": {
        "id": 787878,
        "name": "XYZ",
        "email": "email id"
      },
      ...
    }
  ]
}

在场景 1 中,我可以通过 VBA-JSON 库在 VBA Excel 中使用 For Each 循环来获取 data 数组中的值。

场景 #2:

{
  "success": true,
  "data": {

    "id": 123,
    "name": "ABC",

    "options": [
      {
        "id": 119,
        "label": "Name1"
      },
      {
        "id": 120,
        "label": "Name2"
      }
    ],
    "mandatory_flag": false
  }
}

但在第二种情况下,我无法访问 data 数组中的数据,因为 JSON data 数组在 JSON 对象中。例如我想要id: 120 的值,它必须返回Name2,因此我想访问label 的值,它将返回Name2

我尝试了很多方法,但无法得到它。请任何人都可以告诉我如何在 VBA Excel 中完成此操作? 任何帮助表示赞赏。

【问题讨论】:

  • 想要访问将返回“Name2”的“label”的值
  • 能否请您发布代码或分享您正在使用的 VBA-JSON 库的链接?发布您也尝试过的代码,注意正确的格式。

标签: json vba excel


【解决方案1】:

使用 VBA-JSON 库,您可以通过调用来访问所需的值:

Set Parsed = JsonConverter.ParseJson(<yourjsonstring>)
Debug.Print Parsed("data")("options")(2)("label")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-10
    • 2021-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-20
    • 1970-01-01
    • 2011-08-12
    相关资源
    最近更新 更多