Я хочу анализировать значения из 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"
}
]
}
]
Я попытался получить значение идентификатора следующим образом:
$json_obj = json_decode($resp);
print $json_obj->assets[0]->id;
но я не получаю результата, тогда как должно быть 6. Что я здесь делаю неправильно?
Помните, что внешняя часть JSON — это массив, как следует из открытия [
. Итак, вам нужно сначала получить доступ к первому (и единственному) его элементу:
$json_obj[0]->assets[0]->id; //<-- note the first [0]
Я думаю, что правильный ответ
$json_obj = json_decode($resp);
print $json_obj[0]->assets[0]->id;
Объект json будет преобразован в массив php, так как у вас есть массив с объектом внутри, в вашем случае это будет многомерный массив с объектами внутри.
Попробуйте это, это сработало для меня ..
$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)
?>
декодировать JSON в массив и получить идентификатор с помощью соответствующих ключей массива
$jToArray = json_decode($resp, TRUE);
echo $jToArray[0]['assets'][0]['id'];//You will get the correct id