如何在PHP

时间:2019-04-07 10:55:48

标签: php json api

我想从Json API解析值,但是我无法使其工作

API返回此JSON:

[
  {
    "assets": [
      {
        "id": 6,
        "size": 1429504,
        "download_count": 1,
        "browser_download_url": "https://dl.domain.tld/files/cdbc6e19-cd86-4ed6-8897-37ec5aaee578"
      }
    ]
  }
]

我试图这样获得ID值:

$json_obj = json_decode($resp);
print $json_obj->assets[0]->id;

但是我没有结果,应该是6。在这里我怎么做错了?

4 个答案:

答案 0 :(得分:1)

请记住,JSON的外部是一个数组,如开头"value3"所建议。因此,您需要首先访问它的第一个(也是唯一一个)元素:

[

答案 1 :(得分:1)

我认为正确的答案是

$json_obj = json_decode($resp);
print $json_obj[0]->assets[0]->id;

该json对象将转换为php数组,因为在您的案例中,其中有一个对象内部的数组,因此它将是一个多维数组,其中包含对象。

答案 2 :(得分:0)

试试这个对我有用。     

$json ='[
  {
    "assets": [
      {
        "id": 6,
        "size": 1429504,
        "download_count": 1,
        "browser_download_url": "https://dl.domain.tld/files/cdbc6e19-cd86-4ed6-8897-37ec5aaee578"
      }
    ]
  }
]';



$json_obj = json_decode($json);

var_dump($json_obj[0]->assets[0]->id)
?>

答案 3 :(得分:0)

将JSON解码到数组并通过适当的数组键获取ID

$jToArray = json_decode($resp, TRUE);
echo $jToArray[0]['assets'][0]['id'];//You will get the correct id