Ошибка AS3 JSON.decode, # 1009 - PullRequest
       2

Ошибка AS3 JSON.decode, # 1009

1 голос
/ 31 января 2011

Я использую библиотеку J3 as3corelib и декодирую JSON из запроса URLLoader.Однако у меня возникли проблемы с 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 $ / decode () в 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 голосов
/ 26 апреля 2011

Ваше право помещать 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 декодирует всю вашу строку в объект, поэтому переменные .assets не в формате JSON, потому что они уже были преобразованы. Возможно также, что переменные .assets не определены в возвращаемых данных.

Отследите ваши переменные .assets и посмотрите, является ли он пустым или нет в формате JSON.

Я бы использовал либо var variables:URLVariables = new URLVariables(e.target.data), либо assets = JSON.decode(e.target.data), но не оба одновременно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...