Read the statement by Michael Teeuw here.
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
so
object[key1][key2].value
when object looks like this
{ "fred":{"mary":"value1","sue":value2"} }
so
var a='fred' var b='sue'
and
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 errorvar 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…
-
You genius types are awesome! :thumbsup:
Create the topic. Reply to yourself. Mark topic solved (by self).
-
@mykle1 there is no better thought motivator than posting on a live forum…!!