Code Monkey home page Code Monkey logo

Comments (4)

omegastripes avatar omegastripes commented on August 13, 2024

@cacapis please share the code.

from vba-json-parser.

cacapis avatar cacapis commented on August 13, 2024

Here is the code, I'm using JSON.bas without modifications.
The debug Debug.Print sJSONString output is the JSON data I included in the first message.
Apparently, the variable sState is equal to "array", so it triggers the line Case sState <> "Object"

Thank you.

`
Sub Test()

Dim sJSONString As String
Dim vJSON
Dim sState As String
Dim vFlat

' Retrieve JSON response
With CreateObject("MSXML2.XMLHTTP")
    .Open "GET", "https://api.pons.com/v1/dictionary?l=dees&q=Einheit&in=de", True
    .setRequestHeader "X-Secret", "xxxxxxxx"
    .Send
    Do Until .ReadyState = 4: DoEvents: Loop
    sJSONString = .ResponseText
End With
Debug.Print sJSONString

' Parse JSON response
JSON.Parse sJSONString, vJSON, sState
' Check response validity
Select Case True
    Case sState <> "Object"
        MsgBox "Invalid JSON response"
    Case Not vJSON.Exists("rows")
        MsgBox "JSON contains no rows"
    Case Else
        ' Convert JSON nested rows array to 2D Array and output to worksheet #1
        ThisWorkbook.Sheets(2).Cells.Clear
        Output ThisWorkbook.Sheets(2), vJSON("rows")
        ' Flatten JSON
        JSON.Flatten vJSON, vFlat
        ' Convert to 2D Array and output to worksheet #2
        ThisWorkbook.Sheets(3).Cells.Clear
        Output ThisWorkbook.Sheets(3), vFlat
        MsgBox "Completed"
End Select

End Sub
`

from vba-json-parser.

omegastripes avatar omegastripes commented on August 13, 2024

Remove all lines after JSON.Parse sJSONString, vJSON, sState (which are intended to render the response from trirand.com and used as the example, thus they won't work for api.pons.com) and write your own code depending on your needs and response structure.
You have to inspect the structure of JSON received from api.pons.com, plan how to retrieve the necessary data, and decide what should be done with JSON entity returned in vJSON variable after parsing.

from vba-json-parser.

cacapis avatar cacapis commented on August 13, 2024

Ah perfect, thank you!

from vba-json-parser.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.