Visual Basic解析嵌套的JSON文件

时间:2018-05-31 21:51:30

标签: arrays json excel vba

所以我有这个嵌套的JSON文件

{

   "root": [{

       "STATUS_RE": {

            "STATUS": {

              "STATUS": {

                          "OWNER": "Manny",
                          "REQUEST_ID": "00000",
                          "STATE": "SUCCESS"

                         }

                     },

                    "RESPONSE_FORMAT": "New",

                    "OWNER": "Manny",

                    "REQUEST_ID": "00000",

                    "RESULT": [{

                        "USER": {

                              "BUSINESS_ID": "N",

                              "ID_NUMBER": "016",

                              "U_LANGUAGE": "F",

                              "B_CODE": "08302"

                        }

                    },

                 {

                   "USER_A": {

                         ROLE": "true",

                         "ACCESSING": "true"
                         }
                   }
                  }
                }]
              }

我使用这个可视化基本代码试图访问此json文件的某些部分。例如,我想要“USER_”下的“BUSINESS_ID”和“ID_Number”,我也希望“USER_A”下的“ROLE”

这是我正在使用的代码

Dim FSO As New FileSystemObject
Dim JsonTS As TextStream
Set JsonTS = FSO.OpenTextFile("example.json", ForReading)
JsonText = JsonTS.ReadAll
JsonTS.Close
Set JSON = ParseJson(JsonText)
i = 2
For Each Item In JSON
Sheets(1).Cells(i, 1).Value = Item("BUSINESS_ID")
Sheets(1).Cells(i, 2).Value = Item("ID_Number")
i = i + 1

我尝试将For Each Item In JSON更改为For Each Item In JSON("root")(STATUS_RE")....一直到("USER"),然后抓住“BUSINESS_ID”,但这不起作用,我将如何提取所需的信息。< / p>

1 个答案:

答案 0 :(得分:0)

例如:

Dim result As String
Dim JSON As Object

result = Range("A9").Value

Set JSON = JsonConverter.ParseJson(result)
Debug.Print JSON("root")(1)("STATUS_RE")("RESULT")(1)("USER")("ID_NUMBER") '>> 016