Quantcast
Channel: Active questions tagged excel - Stack Overflow
Viewing all articles
Browse latest Browse all 88087

How to pick JSON nodes given in an Excel table for each field?

$
0
0

Hi I am quite new to VBA and JSON. I want to parse a JSON script using a VBA macro.

I already have an Excel table with each field and it's corresponding JSON path.

While trying to pick the value from Excel table, it is read as string and, quotes are added in the beginning and end of the string. The quotes " in the beginning and the end of the path of the JSON variable makes it impossible to read the value from the JSON script.

For example, if the path is project->name, the location in Excel table is ("project")("name"). But after reading it in VBA it becomes "("project")("name")". With the extra quotes " in the path, the location is not getting identified in the VBA code.

{
    "quiz": {
        "sport": {
            "name": "Basketball",
            "Questions":{
                "question1": "Which one is correct team name in NBA?",
                "question2":"Who is your favorite player",}
                   }
                    }
                     }

For this JSON script, I have created an Excel table with paths of question1 and question2:

  • ("quiz")("sport")("name")("question1")
  • ("quiz")("sport")("name")("question2")

The following code runs a loop and identify path of question1 first and returns "Which one is correct team name in NBA?" and do the same for question2. But, item(path) is returning an empty string while writing the path completely in the code returns the correct value.

Set jsonObject = JsonConverter.ParseJson(JsonScript) 'Parse Json from GitHub

For Each item In jsonObject("data")      
    For i = 1 To nrow ' loops through rows with path for each field
       Path = ws2.Range("C"& i).Value 'path of each field
       MsgBox item(Path) 'returns Empty
       question1 = item("quiz")("sport")("name")("question1") 'returns question1 value:Which one is correct team name in NBA?  
    Next   
Next

Viewing all articles
Browse latest Browse all 88087

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>