错误:访问未定义的属性JSON ......但它就在那里

时间:2012-03-29 10:09:38

标签: actionscript-3 flash facebook-graph-api flashdevelop

我正在开发一个使用AS3 Facebook API的Flash应用程序(Flash Player 11作为目标平台),后者又使用as3corelib JSON功能。或者至少它应该这样做。

然而,尽管包含as3corelib.swc的latest version(。93),我仍然得到“错误:未定义属性JSON的访问”。我也试过直接包括这些来源,但没有用。

任何想法我做错了什么?

正如我所说,* .swc肯定包括在内。和源代码一样(都在正确的路径上)。

修改

我有更具体的错误消息:

Error: Can not resolve a multiname reference unambiguously. JSON (from C:\Coding\FlashDevelop\Tools\flexsdk\frameworks\libs\air\airglobal.swc(JSON, Walker)) and com.adobe.serialization.json:JSON (from C:\flash_test\lib\as3corelib.swc)) are available.

我知道JSON包含在AIR中,但我没有针对AIR,那么为什么要尝试包含airglobal.swc?

2 个答案:

答案 0 :(得分:8)

您的问题是Flash Player 11及其后续版本具有本机JSON支持,因此您所包含的JSON类可能会与as3corelib中的JSON类发生冲突。因此模棱两可的问题。

尝试完全删除as3corelib,看看会发生什么。

答案 1 :(得分:3)

指定类的完整路径。例如,代码:

...

var jsonData:Object = JSON.decode(loader.data);

...

将是

...

var jsonData:Object = com.adobe.serialization.json.JSON.decode(loader.data); ...