2016-12-15 3 views
0

У меня есть PHP скрипт, который всасывает данных JSON, как показано ниже:значения объектов JSON доступа с использованием PHP

$request = new HTTP_Request2('https://fakeurl.com/stuff', HTTP_Request2::METHOD_GET); 
$request->setHeader('Authorization', 'Bearer ' . $access_token); 
$response = $request->send(); 
$data = json_decode($response->getBody()); 

Если я распечатать данные у меня есть такие объекты, как это:

array(12) { 
    [0]=> 
    object(stdClass)#16 (3) { 
     ["userId"]=> 
     string(3) "123" 
     ["anotherId"]=> 
     string(3) "456" 
     ["boolValue"]=> 
     bool(false) 
    } 
    } 

Как может Я обращаюсь к данным здесь? Я уже пробовал делать

$data = json_decode($response, true)); 

но $response не является переменной строкой.

Спасибо!

ответ

2

Вы уже разобрать JSON в строке 3.

Вы должны быть в состоянии пойти $data[0]->userId или что-то

Edit: Обратите внимание на то, что $data является массивом объектов, таким образом Вы должны перебрать их или указать, какие один из них, к которому вы хотите получить доступ. [], чтобы выбрать элемент массива, а затем -> для доступа к полю на объекте

+0

Спасибо! Я сначала использовал get_object_vars, после чего смог сделать $ data [0] -> userId, чтобы получить то, что я хочу. – gibsonsg

0

Иногда get_object_vars достаточно.

+0

Спасибо! Это было полезно. – gibsonsg

Смежные вопросы