PHP - 访问json响应中的值

时间:2016-01-21 12:58:26

标签: php json

我需要在PHP中的API响应中访问对象内部的值。 API响应

$res = {
    "data": {
        "first_name": "Dany",
        "last_name": "mate",
        "id": "1379933133290837510",
        "image": {
            "60x60": {
                "url": "https://s-media-cache-ak0.pinimg.com/avatars/dtest_1438666564_60.jpg",
                "width": 60,
                "height": 60
            }
        }
    }
}

如何访问参数" first_name" &安培; " URL&#34 ;?非常感谢您的帮助。我试图将响应转换为数组但没有工作

$array = get_object_vars($res);

我不知道这是正确的方法吗?

3 个答案:

答案 0 :(得分:2)

$res = json_decode('{
    "data": {
        "first_name": "Dany",
        "last_name": "mate",
        "id": "1379933133290837510",
        "image": {
            "60x60": {
                "url": "https://s-media-cache-ak0.pinimg.com/avatars/dtest_1438666564_60.jpg",
                "width": 60,
                "height": 60
            }
        }
    }
}');
$array = get_object_vars($res);
print_r($array);

你需要利用json_decode来做到这一点。

答案 1 :(得分:1)

你必须先解码json:

$json = json_decode($res,true);

foreach ($json['data'] as $data)
{
    echo $data['first_name'];
};

答案 2 :(得分:0)

<?php

  $pp = json_decode('{
    "data": {
        "first_name": "Dany",
        "last_name": "mate",
        "id": "1379933133290837510",
        "image": {
            "60x60": {
                "url": "https://s-media-cache-ak0.pinimg.com/avatars/dtest_1438666564_60.jpg",
                "width": 60,
                "height": 60
            }
        }
    }
}');
 $data = json_encode($pp->{'data'});

  $aa = json_decode($data);
  echo $aa->{'first_name'} .'  & ';

  $image = json_encode($aa->{'image'});
  $dd = json_decode($image);

  $sity = json_encode($dd->{'60x60'});
  $url = json_decode($sity);
  echo $url->{'url'};
?>