I am using multidimensional arrays to process data read from JSON files. Some of the data in the JSON files can be represented in alternative forms in files from different sources.
For example a field named “status” may be represented as either: “status": { "text": “active"} or “status": {“active”} To recognize both forms I use code (after transforming JSON to an array tArray] such as: Local tArray, tStatus Put tArray[“status”] into tStatus If tStatus is empty then put tArray[“status”][“text”] into tStatus End if I have discovered that if tArray[“status”][“text”] contains a value then tArray[“status”] is not empty (as expected), so my test fails. However the expression ‘the value of tArray[“status”]’ return empty and calling - answer tArray[“status”] returns an empty (null) string. Is this a bug or a (perhaps) a logical outcome of how LC implements arrays? I have often used the form 'if tArray[“key1”] is empty' to determine whether an array element hold a value but this breaks if tArray[“key1”][“key2”] holds a value. Try the following in the message box: put "data" into tA["A"]["B"];answer tA["A"] is empty The result is false! Livecode reports that tA[“A”] is not empty However entering the following in the message box returns true! put "data" into tA["A"]["B"];answer the value of tA["A"] is empty Henry _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode