【发布时间】:2012-01-02 16:00:57
【问题描述】:
是否可以在 Flex 4.5 JSON 为未找到密钥引发异常之前检查密钥是否存在?我有一些 json 数据,其中一些键并不总是存在。
我正在使用 CallResponder...
问题在于,当您尝试访问 callResponder.lastResponse.key 时,例如,key 并不总是存在于您的 json 中,Flex 将无法解析它。即使您检查if (callResponder.lastResponse.key),也会发生这种情况 - 在这种情况下,错误发生在 if 行上
下面提供的答案适用于键是 JSON 中的顶级节点的情况。但是,它似乎无法解析子键的存在。我没想到在解析顶级节点和子节点之间会有区别,但显然情况就是这样。
为了清楚起见(因为我没有提到我在原始问题中尝试解析子键),我在这里创建了一个新问题,专门询问如何使用以下方法解析子键 -或其他方法,如果需要:Flex 4.5 How do you check for JSON child node key existence (using hasOwnProperty or other methods)
【问题讨论】:
-
显示引发错误的代码。
-
我使用了 CallResponder.lastResult (等)。如果您分配
bob=callresponse.lastResult.bob,那么当您的 json 调用没有定义 bob 键时,该行将导致错误。有没有办法先检测json中是否存在该键? -
你能给我们展示更多的代码吗?例如,那个 sn-p 中的 bob 是什么?
-
bob 只是一个字符串......如果定义了 json 键,它通常总是有效的......
-
那么也许你应该检查一下json键是否被定义?确保 lastResult 也有一个定义的值。
标签: json apache-flex actionscript flex4 flex4.5