JSON-декодирование с включением PHP - PullRequest
0 голосов
/ 25 ноября 2011

Я хочу включить php-файл друг в друга и расшифровать полученный JSON.

Вот мой код:

<?php 

$jsonstring = include('php/get_recipe_byID.php');


$obj = json_decode($jsonstring);
print_r($obj->Data);

?>

$jsonstring является

{"Data":{"Recipes":{"Recipe_10":{"ID":"10","TITLE":"Pferde\u00e4pfel","TEXT":"Sammeln und Essen","COUNT_PERSONS":"4","DURATION":"60","USER_ID":"1","DATE":"1000-01-01 00:00:00"}}},"Message":null,"Code":200} 

Я получаю ошибку

Notice: Trying to get property of non-object in /var/www/recipe_search.php on line 118

строка с print_r($obj->Data);

Как я могу справиться с этим?

Ответы [ 2 ]

1 голос
/ 25 ноября 2011

Это потому, что вы включаете файл и не используете файл напрямую. Вы должны использовать file_get_contents вместо.

Однако!

У меня иногда возникали проблемы с использованием json_decode и его превращением в объекты, и я предпочитаю использовать вместо него параметры ассоциативного массива. Попробуйте использовать

$obj = json_decode($jsonstring);
print_r($obj['Data']);
0 голосов
/ 25 ноября 2011

Эта ошибка означает, что $obj не является объектом и, вероятно, является нулевым, поскольку $jsonstring не является допустимой строкой json.

попытайтесь создать переменную var_dump из $ jsonstring и убедитесь, что вВ конце вашего файла php / get_recipe_byID.php вы делаете возврат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...