PHP试图获取非对象的属性

时间:2014-05-13 13:43:39

标签: php json

首先,我知道stackoverflow已经从这种错误中充满了,但它们都不像我的,所以我发布这个。

我试图从api获取JSON响应,因为我试图回应它,我得到Trying to get property of non-object错误。

$apicalldata = file_get_contents("https://api.digitalocean.com/v1/droplets/?client_id=6356465465363546&api_key=f9a702abe442198a4168346435366436cc4cd2138dfc");

$call = json_decode($apicalldata);

echo $call->droplets->id;

这是我正在使用的代码。从此我希望得到这样的回应:

{
"status": "OK",
"droplets": [
  {
  "id": 100823,
  "name": "test222",
  "image_id": 420,
  "size_id":33,
  "region_id": 1,
  "backups_active": false,
  "ip_address": "127.0.0.1",
  "private_ip_address": null,
  "locked": false,
  "status": "active",
  "created_at": "2013-01-01T09:30:00Z"
}
 ]
 }

任何想法为什么我有这个问题? $call->droplets->id也正确吗? 谢谢你的时间

2 个答案:

答案 0 :(得分:1)

看起来droplets是一个数组。试一试。

$droplets = $call->droplets;
$myDroplet = $droplets[0];
$myDropletID = $myDroplet->id;
echo $myDropletID;

*评论后更新*

$droplets = $call->droplets;

foreach($droplets as $droplet)
{
    $dropletID = $droplet->id;
    echo $dropletID;
}

答案 1 :(得分:0)

试试这个

$call = json_decode($apicalldata);
foreach($call->Droplet as $adm)
{
echo "ID ".$adm->id."<br/>";
}