2013-08-01 3 views
-1

У меня есть следующие JsonПолучение ArrayList из JSON

[response] => stdClass Object 
    (
     [status] => 1 
     [httpStatus] => 200 
     [data] => Array 
      (
       [0] => 230 
       [1] => 1956 
       [2] => 1958 
       [3] => 2294 
    ) 

Как я получить массив данных из ответа?

Я знаю, что это довольно просто.

обновление

Вот некоторые из моего исходного кода

$url = $base . http_build_query($params); 
$result = file_get_contents($url); 

echo '<pre>'; 
print_r(json_decode($result)); 
echo '</pre>'; 
$data = $result->response->data; 
print_r($data); 

ответ

1

Это не JSON, то есть PHP массив или объект. Вы не указали достаточно информации, чтобы узнать, какой она есть.

Вы можете получить доступ к массиву данных из него, используя:

$data = $arr['response']->data; 

Или:

$data = $obj->response->data; 

Заменить $arr или $obj с фактическим именем переменной.

Редактировать

Ваши переменный содержит строку, потому что после его расшифровки вы не сохранили результат. Попробуйте использовать следующий код:

$url = $base . http_build_query($params); 
$json = file_get_contents($url); 

$result = json_decode($json); 
$data = $result->response->data; 

echo '<pre>',print_r($data, true),'</pre>'; 
+0

, когда я пытаюсь это сделать: $ data = $ result ['response'] -> data; print_r ($ data); } моя консоль пишет пустую строку –

+0

@MarcRasmussen Попробуйте версию объекта: данные $ data = $ result-> response->; print_r ($ data); ' – Paulpro

+0

То же самое происходит: S –

2
$json_object = json_decode($result); 
print_r($json_object->response->data); 

В PHP -> оператор объекта (или стрелок). Я бы посоветовал вам прочитать больше о Objects in PHP и json_decode().

+0

Могу ли я использовать то же самое, чтобы вернуть его в виде массива? например return $ json_object-> response-> data –

+3

@MarcRasmussen Да. '$ json_object-> response-> data' - это просто ссылка на переменную, поэтому вы можете сделать что-нибудь с ней, что вы можете сделать с переменной - распечатать ее, вернуть, изменить, что угодно. –

+0

, когда я пытаюсь это сделать, я пытаюсь получить свойство не-объекта –

1

просто так: -

[response] => stdClass Object 
    (
     [status] => 1 
     [httpStatus] => 200 
     [data] => Array 
      (
       [0] => 230 
       [1] => 1956 
       [2] => 1958 
       [3] => 2294 
    ) 
$json_data=json_decode($response,true); 
Смежные вопросы