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

Actionscript 3 错误:访问未定义的属性JSON。。。但它就在那里,actionscript-3,flash,facebook-graph-api,flashdevelop,Actionscript 3,Flash,Facebook Graph Api,Flashdevelop,我正在开发一个Flash应用程序(Flash Player 11作为目标平台),它使用AS3 Facebook API,反过来又使用as3corelib JSON功能。或者至少它应该这样做 然而,尽管包含了as3corelib.swc的(.93),我仍然得到了“Error:Access of undefined property JSON”。我也试着直接包括消息来源,但没有成功 你知道我做错了什么吗 正如我所说,*.swc肯定包括在内。源代码也是如此(都在正确的路径上) 编辑: 我有一个更具体的

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

然而,尽管包含了as3corelib.swc的(.93),我仍然得到了“Error:Access of undefined property 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.

我知道AIR中包含JSON,但我并不以AIR为目标,那么为什么它会尝试包含airglobal.swc?

您的问题是Flash Player 11及以后版本具有本机JSON支持,因此您包含的JSON类可能与来自as3corelib的JSON类发生冲突。因此出现了歧义问题


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

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

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

将是

var jsonData:Object=com.adobe.serialization.json.json.decode(loader.data);
啊,是的,当然。这是一个问题,也是FlashDevelop中的一个bug,导致FD认为我需要AIR,尽管我指定FP11作为目标平台。在修复了这两个问题后,它现在可以工作了。谢谢我试图从我的项目库文件夹中删除as3corelib.swc,但出现了新的错误,即com.adobe.utils.strinUtil not found您确定不应将其写为“StringUtil”吗?在任何情况下,您都可以尝试下载as3corelib的源代码,只保留您需要的东西,比如StringUtil。