Как выполнить Json декодирование в PHP с помощью пакета груши Services_JSON (PHP Catchable фатальная ошибка: объект класса stdClass не может быть преобразован в строку)

Я хочу кодировать / декодировать массив с помощью JSON. Поскольку у меня есть PHP 5.1.6, я использую грушу (http://pear.php.net/pepr/pepr-proposal-show.php?id=198) пакет.
С его помощью я могу кодировать, но я не могу расшифровать, я пытался прочитать документ, но ничего не понял. Вот мой код:

<?php  include("/home/gpreeti/php/JSON.php");
$json = new Services_JSON();
$marks = array(
"mohammad" => array (
"physics" => 35,
"maths" => 30,
"chemistry" => 39
),

"qadir" => array (
"physics" => 30,
"maths" => 32,
"chemistry" => 29
),

"zara" => array (
"physics" => 31,
"maths" => 22,
"chemistry" => 39
)
);
$marks=$json->encode($marks);
print"$marks\n";
$marks = $json->decode($marks);
#var_dump($marks);
print"$marks";
?>

При запуске я получаю это

{"mohammad":{"physics":35,"maths":30,"chemistry":39},"qadir":{"physics":30,"maths":32,"chemistry":29},"zara":{"physics":31,"maths":22,"chemistry":39}}
PHP Catchable fatal error:  Object of class stdClass could not be converted to string in /servers/scratch05/gpreeti/php_pgms/test_json.php on line 26

Пожалуйста помоги,
Спасибо

0

Решение

Когда у вас есть массив / объект, вы должны отобразить его, используя print_r / var_dump, печать используется для строки

$marks=$json->encode($marks);
print"$marks\n";
$marks = $json->decode($marks);
#var_dump($marks);
print_r($marks); //change this line

РЕДАКТИРОВАТЬ Чтобы получить массив, вам нужно сделать следующие изменения:

$json = new Services_JSON(SERVICES_JSON_LOOSE_TYPE);
$marks = $json->decode($marks);
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector