|
|
|||||
Регистрация: Aug 2013
Сообщений: 73
|
Обработка JSON от php
Добрый день.
Решил восстановить свой старый проект, в котором была настроена связь между сервером на php и 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 С сервера приходит строка такого типа: {"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}} появляется ошибка: Подскажите пожалуйста, в чём может быть проблема? |
|
|||||
Регистрация: Jan 2012
Сообщений: 836
|
Цитата:
|
|
|||||
Регистрация: Aug 2013
Сообщений: 73
|
Прошу прощения, вот такой вывод:
Если скопировать строку в json парсер, то выдаётся ошибка: SyntaxError: Unexpected token in JSON at position 0 http://json.parser.online.fr/ Именно строку, которую я получаю в as3. Стандартный Блокнот добавляет эти символы к выводу. Можно сохранить php файлы, например, в Nodepad++ в другой кодировке (UTF без BOM). Решает проблему. Последний раз редактировалось dendead; 15.05.2016 в 16:02. |
|
|||||
Абсолютно валидный джейсон. У меня все норм. И валидатор тоже проблем не находит http://jsonlint.com/
попробуй так напичать , хотя вряд ли конечно это поможет
__________________
Ко мне можно и нужно обращаться на ты) Последний раз редактировалось caseyryan; 15.05.2016 в 18:47. |
|
|||||
Ютф-8 все-таки должен быть везде?
Ну и русские символы http://flasher.ru/forum/showthread.php?t=171823 тут несколько решений.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
Регистрация: Aug 2013
Сообщений: 73
|
Проблема решилась сохранением php файлов в кодировке (UTF без BOM), как я и писал ранее.
Спасибо! |
Часовой пояс GMT +4, время: 18:47. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|