Как получить данные из JSON?
Пытаюсь получить значение usd но ничего не выходит из-за того, что не могу использовать название первого значения в json ответе.
$json = '{"bitcoin":{"usd":56991}}';
$usd = $json['bitcoin']['usd'];
Как получить число 56991 не используя bitcoin?
Спасибо!
Ответы (2 шт):
Автор решения: Антон Металлов
→ Ссылка
Надо использовать json_decode: https://www.php.net/manual/ru/function.json-decode.php
$json = '{"bitcoin":{"usd":56991}}';
$usd = json_decode($json, true)['bitcoin']['usd'];
Я не могу указать bitcoin при получении usd, как-то нужно его перескочить
Тогда так:
$json = '{"bitcoin":{"usd":56991}}';
$jsonDecoded = json_decode($json, true);
$innerData = array_pop($jsonDecoded);
$usd = $innerData['usd'];
echo $usd;
Автор решения: iEPCBM
→ Ссылка
Вам нужно пропарсить строку JSON и только потом применять ее данные. Для этого используйте json_decode.
Например:
$json = '{"bitcoin":{"usd":56991}}';
$data = json_decode($json);
$bitcoin = $data->bitcoin;
$usd = $bitcoin->usd;
или
$json = '{"bitcoin":{"usd":56991}}';
$data = json_decode($json, true);
$bitcoin = $data['bitcoin'];
$usd = $bitcoin['usd'];
Подробнее о json_decode можете прочитать в документации.