Помогите немогу понять где косяк есть два сайта на одном лежит база с которой работает скрипт на втором нужно получить и обработать данные от первого на сайте с базой текст такой Код (PHP): $r = sqlsrv_query($conn, $catl) or die("cannot get orders"); $tmp=array(); while($row = sqlsrv_fetch_array($r,SQLSRV_FETCH_ASSOC)) { $tmp[]=$row; } $data['menu']=$tmp; } echo(json_encode($data)); на второй сайте Код (PHP): $js=file_get_contents('http://my.com/a.php?id=1'); print_r($js); $i=json_decode($js, true); print_r($in); $c=$i['menu']; print_r($c); при выполнении print_r($js) массив есть Код (PHP): {"menu":[{"ID":8,"Caption":"\u041a\u0423\u0417\u041e\u0412","Group":null},{"ID":2,"Caption":"\u0414\u0412\u0418\u0413\u0410\u0422\u0415\u041b\u042c","Group":null}]} А вот print_r($i) уже пустой тоесть массив на сайт приходит, а вот json_decode возвращает пустую строку, print_r($c) конечно тоже пустой. Помогите куда смотреть? PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
wer_wolf смотреть в сторону phpinfo() - выводит информацию о настройках, включая опцию поддерживается ли json_decode. версия пхп до 5.2 не имеет встроенной функций работы с json посмотри вот сюда http://www.php.net/manual/en/function.j ... php#105259 - довольно много примеров самописных json декодеров. И ещё советую в гугле покопаться - тоже немало вылезет.
Не мой случай на этих же сайтах уже пашут скрипты в которых примерна такая же конструкцию пашет а phpinfo говорит PHP Version 5.2.17 jsonjson support enabled json version 1.2.1
Проверил если насильно пишнуть в код вот такую конструкцию json_decode ("{\"menu\":[{\"OID\":841,\"Caption\":\"\u041a\u0423\u0417\u041e\u0412\",\"ParentGroup\":null},{\"OID\":842,\"Caption\":\"\u0414\u0412\u0418\u0413\u0410\u0422\u0415\u041b\u042c\",\"ParentGroup\":null}]}", true); то она легко разберается на массив как я и хотел но блин в чем отлие понять не могу
Прикол взял файл который до меня писали с работающими функциями json_decode частично удалил с него частично покоментил часть удалил и скопировал туда все из файла который я писал и у меня он не работал и все заработало вот теперь сижу и думаю что это такое?
Написано: $i=json_decode($js, true); print_r($in); но скорее всего надо было: $i=json_decode($js, true); print_r($i);
Этот топик в числе первых в выдаче гугл по данному вопросу, потому решил написать решение для всех, кто столкнется с этой проблемой. Надо делать так: Код (Text): $data = json_decode(htmlspecialchars_decode($_POST['data']),true);
Ну вот считай не зря 5 лет назад ответил человеку, который спросил 8 лет назад. Я даже не поленился зарегистрироваться, чтобы спасибо сказать! Спасибо, друг!
$data = json_decode(htmlspecialchars_decode($_POST['data']),true); И мне помог данный ответ. Спасибо, друг!