Flex 4.5 JSON在异常之前检查密钥是否存在?

Flex 4.5 JSON在异常之前检查密钥是否存在?,json,apache-flex,actionscript,flex4,flex4.5,Json,Apache Flex,Actionscript,Flex4,Flex4.5,在Flex 4.5 JSON为找不到键抛出异常之前,是否可以检查键的存在?我有一些json数据,其中一些键并不总是存在 我正在使用呼叫应答器 问题是,当您尝试访问callResponder.lastResponse.key——比如说,key并不总是出现在json中时,Flex将无法解析它。即使您检查了if(callResponder.lastResponse.key),也会发生这种情况-在这种情况下,错误发生在if行上 (见附件) 下面提供的答案适用于键是JSON中顶级节点的情况。然而,它似

在Flex 4.5 JSON为找不到键抛出异常之前,是否可以检查键的存在?我有一些json数据,其中一些键并不总是存在

我正在使用呼叫应答器

问题是,当您尝试访问
callResponder.lastResponse.key
——比如说,key并不总是出现在json中时,Flex将无法解析它。即使您检查了
if(callResponder.lastResponse.key)
,也会发生这种情况-在这种情况下,错误发生在if行上


(见附件)


下面提供的答案适用于键是JSON中顶级节点的情况。然而,它似乎无法解析子键的存在。我没想到顶级节点和子节点的解析之间会有区别,但显然是这样


为了清晰起见(因为我在最初的问题中没有提到我正在尝试解析子键),我在这里创建了一个新问题,专门询问如何解析子键,使用下面的方法——或者其他方法,如果需要的话:

如何处理JSON数据


在我的记忆中,我使用JSON.decode(String),得到了一个数组。对于每个对象,可以使用obj.hasOwnProperty(键)检查它是否存在。

显示引发错误的代码。我使用了CallResponder.lastResult(等)。如果分配了
bob=callresponse.lastResult.bob
,那么当json调用没有定义bob键时,该行将导致错误。有没有一种方法可以首先检测json中是否存在该键?您能给我们展示更多的代码吗?例如,那个片段中的bob是什么?bob只是一个字符串。。。如果定义了json键,它通常是有效的。那么您应该检查一下json键是否定义了?请确保lastResult也有一个定义的值。我使用了CallResponder.lastResult(etc),您能给出一个与Flex 4.5中CallResponder对象相关的答案吗?问题是,使用CallResponder,您应该使用lastResponse引用内容,而lastResponse没有hasOwnProperty方法。。您使用的是Flex 4.5吗?请注意,我尝试了callresponder.hasOwnProperty(callresponder.lastResult.location.name)(其中JSON有一个带有名称子级别的位置键)和callresponder.hasOwnProperty(“lastResult.location.name”)的变体,而且它们都不起作用。我不确定它是否会起作用,但你给hasOwnProperty打电话的方式肯定是错误的。callresponder.lastResult.hasOwnProperty(“位置”)