Обработка JSON от php
Добрый день.
Решил восстановить свой старый проект, в котором была настроена связь между сервером на php и as3 приложением.
На сервере отправлял данные подобным образом:
PHP код:
$load_array = (array("array" => "loadArray", "name" => $name, "money" => $money, "level" => $level)); echo json_encode($load_array);
И получал приложением:
Код AS3:
private function loadData():void
{
loader = new URLLoader();
stat_request = new URLRequest("http://t/index_load.php");
stat_request.method = URLRequestMethod.POST;
vars = new URLVariables();
stat_request.data = vars;
try
{
loader.load(stat_request);
}
catch (e:Error)
{
trace("\n\nОшибка загрузки\n " + e.message + "\n\n");
}
loader.addEventListener(Event.COMPLETE, onComplete);
}
private function onComplete(e:Event):void
{
var output:Object = checkJSON(e.target.data, 'onComplete');
e.target.removeEventListener(Event.COMPLETE, onComplete);
}
private function checkJSON(data:String, funcName:String):Object
{
try
{
var output:Object = com.adobe.serialization.json.JSON.decode(data);
}
catch (e:Error)
{
trace("\n\nНе удалось преобразовать строку JSON " + " в\n " + funcName +
e.message + "\n\n");
output = null;
}
return output;
}
Всё работало хорошо, но сейчас появляется ошибка:
Не удалось преобразовать строку JSON в
loadDataUnexpected encountered
С сервера приходит строка такого типа:
Код AS3:
{"array":"loadArray","name":"Test","money":100,"level":0,"":{"description1":"\u0412\u0442\u043e\u0440\u0430\u044f \u0431\u0430\u0437\u043e\u0432\u0430\u044f \u043a\u0430\u0440\u0442\u0430","attack1":0,"protect1":4,"description2":"\u0421\u0435\u043c\u044c","attack2":1,"protect2":2,"description3":"\u041f\u0435\u0440\u0432\u0430\u044f \u0431\u0430\u0437\u043e\u0432\u0430\u044f \u043a\u0430\u0440\u0442\u0430","attack3":1,"protect3":2,"description4":"\u0414\u0435\u0441\u044f\u0442\u044c","attack4":4,"protect4":4,"description5":"\u0422\u0440\u0435\u0442\u044c\u044f \u0431\u0430\u0437\u043e\u0432\u0430\u044f \u043a\u0430\u0440\u0442\u0430","attack5":1,"protect5":1,"description6":"\u0427\u0435\u0442\u044b\u0440\u0435","attack6":1,"protect6":2,"description7":"\u041f\u044f\u0442\u044c","attack7":0,"protect7":4,"description8":"\u0414\u0435\u0432\u044f\u0442\u044c","attack8":1,"protect8":3,"description9":"\u0412\u043e\u0441\u0435\u043c\u044c","attack9":1,"protect9":4,"description10":"\u0422\u0440\u0438\u043d\u0430\u0434\u0446\u0430\u0442\u044c","attack10":5,"protect10":1}}
Пробовал менять версию плеера и указывать
Код AS3:
var output:Object = JSON.parse(e.target.data);
появляется ошибка:
Код AS3:
SyntaxError: Error #1132: Invalid JSON parse input.
Подскажите пожалуйста, в чём может быть проблема?
|