2015-11-20 22 views
0

Я знаю, что это принципиально, но я не мог понять, что не так, потому что это не моя область. Я посылаю некоторый запрос на сервер и напечатать ответ, как это:Нельзя распечатать простой JSON?

$rest = curl_init(); 
curl_setopt($rest,CURLOPT_URL,$url); 
curl_setopt($rest,CURLOPT_GET,1); 
curl_setopt($rest,CURLOPT_HTTPHEADER,$headers); 
curl_setopt($rest,CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($rest,CURLOPT_RETURNTRANSFER, true); 
$response = curl_exec($rest); 
$json = json_decode($response, true); 

echo $response; 

Где я получаю это:

{"results":[{"Devices":["52401E7E-C5D7","AE80C0F8-999E","764BFD92-9753","78A23379-2C14","EEA03545-5EB9","E18DDFEC-C3C9"],"UserID":"433011AC-228A-4931-8700-4D050FA18FC1","createdAt":"2015-11-04T15:06:33.564Z","objectId":"3os7BGxRoG","updatedAt":"2015-11-04T17:08:57.635Z"}]} 

Затем я пытаюсь напечатать JSON или его поле, но я то ничего не получают:

echo $json; 
    echo $json['UserID']; 
    echo $json['Devices']; 
+4

'print_r ($ json);' – AbraCadaver

+2

'echo $ json ['results'] [0] ['Devices'];' и так далее ... – Jan

+0

@Jan Это не работает, первый элемент - это Объект типа stdClass. Это должно быть '$ json-> results [0] -> Устройства [0/1/2/3/4/5/.. и т. Д.]' – Ohgodwhy

ответ

1

Для уточнения для комментариев немного:

$str = '{"results":[{"Devices":["52401E7E-C5D7","AE80C0F8-999E","764BFD92-9753","78A23379-2C14","EEA03545-5EB9","E18DDFEC-C3C9"],"UserID":"433011AC-228A-4931-8700-4D050FA18FC1","createdAt":"2015-11-04T15:06:33.564Z","objectId":"3os7BGxRoG","updatedAt":"2015-11-04T17:08:57.635Z"}]}'; 
$json = json_decode($str, true); // to an associative array 
// to echo the UserID 
echo "userID : " . $json['results'][0]['UserID']; 
// output: userID : 433011AC-228A-4931-8700-4D050FA18FC1 

// to get the structure of the json array in general use print_r() as AbraCadaver pointed out 
print_r($json); 

В вашей попытке у вас отсутствует номер results[0].

+0

два раза подряд! ;) – Curnelious

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