Как получить доступ к члену класса, который находится внутри другого объекта из JSON, используя PHP - PullRequest
1 голос
/ 17 ноября 2009

У меня есть такая строка JSON

$test='{"var1":null,"var3":null,"status":{"code":150,"message":"blah blah"}}';

Я хочу получить доступ к коду статуса в функции. вот что я попробовал:

$responseObj=jsonService->decode($test);//this converts the string into an Object

echo $responseObj->status->code;

теперь это не работает. Может кто-нибудь направить меня в правильном направлении. Я думаю, что

$responseObj->status->code

неверный синтаксис для использования. Какой правильный синтаксис. Я использую PHP 5.1.6, в нем нет встроенной функции json_decode. Поэтому я использую сторонний класс для конвертации. Я использую следующий сторонний класс

Ответы [ 3 ]

3 голосов
/ 17 ноября 2009

Вы можете использовать json_decode () для этой задачи. Кроме того, ваша входная строка должна иметь кавычки:

$test='{"var1":null,"var3":null,"status":{"code":150,"message":"blah blah"}}';

$responseObj = json_decode($test);

echo $responseObj->status->code;
2 голосов
/ 17 ноября 2009

Вы должны попробовать json_decode () в PHP:

$test='{"var1":null,"var3":null,"status":{"code":150,"message":"blah blah"}}';
$responseObj = json_decode($test);
echo $responseObj->status->code;

Для класса PEARS Services_JSON ( Документация ):

// create a new instance of Services_JSON
$jsonService = new Services_JSON();

$test='{"var1":null,"var3":null,"status":{"code":150,"message":"blah blah"}}';
$jsonService->decode($test);
echo $responseObj->status->code;
2 голосов
/ 17 ноября 2009

Не уверен, что вы делаете jsonService, но у меня это сработало:

$json = '{"var1":null,"var3":null,"status":{"code":150,"message":"blah blah"}}';

$result = json_decode($json);

echo $result->status->code;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...