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