Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > json_decode


Автор: SneG0K 16.8.2009, 22:45
Вот с помощью json_encode перевожу массив в json объект и отправляю пользователю. А вот от пользователя приходит другой json объект. Вот его надо преобразовать в массив. Но, json_decode не спасает.
Код

{fio:\'Фамилия Имя Отчество\',birthday:\'19-1-\',region:\'\',city:\'\',street:\'\',house:\'\',index:\'\',email:\'\',phone:\'\'}

То, что приходит.
С помощью strip_slashes я убираю слеши. Но json_decode выдает false. Может это из-за того, что русские символы не преобразовываются в 
\u043f\u043f\u043f такую кодировку. В общем прошу совета.

Автор: unicross 17.8.2009, 00:05
SneG0K, форматы которые понимает функция json_decode():
Код

$json = '{ "bar": "baz" }';
$json = '{ "bar": 1 }';

Остальные не поддерживаются:
Код

<?php

// the following strings are valid JavaScript but not valid JSON

// the name and value must be enclosed in double quotes
// single quotes are not valid 
$bad_json = "{ 'bar': 'baz' }";
json_decode($bad_json); // null

// the name must be enclosed in double quotes
$bad_json = '{ bar: "baz" }';
json_decode($bad_json); // null

// trailing commas are not allowed
$bad_json = '{ bar: "baz", }';
json_decode($bad_json); // null

?>

http://ru.php.net/manual/en/function.json-decode.php

Автор: SneG0K 17.8.2009, 01:28
unicross, То есть проблема из-за одинарных кавычек. Ладно, будем думать.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)