AS3 JSON.decode抛出#1009错误

时间:2011-01-31 01:48:52

标签: actionscript-3 json

我正在使用as3corelib JSON库并从URLLoader请求解码一些JSON。但是,我遇到了JSON.decode抛出错误的问题:

TypeError: Error #1009: Cannot access a property or method of a null
     

对象引用。在   com.adobe.serialization.json :: JSONTokenizer / nextChar()   在   com.adobe.serialization.json :: JSONTokenizer()   在   com.adobe.serialization.json :: JSONDecoder()   在   com.adobe.serialization.json :: JSON $ /解码()   在Main / drawMap()处   flash.events::EventDispatcher/dispatchEventFunction()   在   flash.events::EventDispatcher/dispatchEvent()   在flash.net::URLLoader/onComplete()

我的代码如下:

 private function storeAssets(e:Event):void
 {
  // returned variables from PHP call
  var variables:URLVariables = new URLVariables(e.target.data);
  assets = JSON.decode(variables.assets);
 }

我已将我的JSON输入传递给验证器,它总是返回有效,所以我真的对此感到头疼。

1 个答案:

答案 0 :(得分:0)

您将e.target.data放入URLVariables的权利,根据此示例:http://actionscriptexamples.com/2008/02/27/decoding-url-encoded-strings-in-a-flash-application-using-the-urlvariables-class-in-actionscript-30/

我认为正在发生的是URLVariables将整个字符串解码为一个对象,因此variables.assets不是JSON格式,因为它已经被转换。也可能是在返回数据中没有定义variables.assets。

跟踪你的variables.assets并查看它是否为空,或者是否为JSON格式。

我会同时使用var variables:URLVariables = new URLVariables(e.target.data)assets = JSON.decode(e.target.data),但不能同时使用两者。