MagicMirror² v2.13.0 is available! For more information about this release, check out this topic.

trouble Accessing JSON structure using variables, help

  • I am trying to access a json structure using variables containing the parts of the structure.

    according to the javascript and json docs, when u want to use variables, u must use the bracket notation



    when object looks like this



    var a='fred'
    var b='sue'


    object[a][b].value should return 'value2'

    but in my module, I am getting cannot access 'sue' of undefined
    if I make a variable then it works, but still throws an error

    var bob=object[a][b] returns error cannot access 'sue' of undefined

    but if I do
    var bob= object[a.toString()][b.toString()]

    then it works, and bob= the sue data item and
    bob.value works… BUT still throws an error cannot access value of undefined… but it worked (I debug step thru the code)…

    if I use literals instead of variables as the key names, then it works… but I need to use variables to reduce the code by using a loop to walk thru the big json object…

    do we have some downlevel javascript? or??

    this should be SO easy, but something is weird…

  • @sdetweil well, its a side effect of the way the code works…

    if (object[key][key] !==‘undefined’)

    will throw an access error if either of the two keys are not in the object… BEFORE you can check the results with the if…

    SO, wrap with try/catch and all is well…

  • Project Sponsor Module Developer


    You genius types are awesome! 👍

    Create the topic. Reply to yourself. Mark topic solved (by self).

  • @mykle1 there is no better thought motivator than posting on a live forum…!!

Log in to reply