Я создаю запрос во Flash, который содержит JSON-кодированный массив объектов.Это кодируется с использованием as3corelib.Затем запрос передается в JavaScript через ExternalInterface, и ajax-вызов jquery отправляет запрос на сервер.
В PHP входящие данные анализируются, но json_decode возвращает значение null, что приводит к ошибке JSON.var_dump приводит к комментариям:
<?php
(isset($_POST['gdata']) && !empty($_POST['gdata'])) ? $gamedata = $_POST['gdata'] : returnError("game data not specified");
var_dump($gamedata); // (String) = string(37) "[{\"duration\":1,\"id\":\"game2\"}]"
$gamedata = json_decode(utf8_encode(trim($gamedata)),true);
var_dump($gamedata); // null
$gamedata = json_decode("[{\"duration\":1,\"id\":\"game2\"}]",true);
var_dump($gamedata);
/*
array(1) {
[0]=>
object(stdClass)#1 (2) {
["duration"]=>
int(1)
["id"]=>
string(7) "game2"
}
}
*/
?>
Чего я не понимаю, так это того, что попытка декодировать переменную возвращает ноль, но тот же текст, декодированный из литеральной строки, работает нормально.Что я могу сделать, чтобы очистить входящие данные и сделать их читаемыми для json_decode?
Редактировать: php_info()
говорит, что magic_quotes_gpc включен.Может ли это быть проблемой?