Как получить данные из JSON и сохранить их в базу данных?
Имеется json строка следующего вида:
{"status":{"timestamp":"2021-05-03T16:47:16.362Z","error_code":0,"error_message":null,"elapsed":370,"credit_count":0,"notice":null},"data":{"2016-10-26T02:39:28.000Z":{"BTC":[1],"USD":[660.28167725,87283944,10525640015.288086]},"2016-10-27T02:39:28.000Z":{"BTC":[1],"USD":[702.39459229,89816296,11200777509.550781]}}}
Как получить из нее данные из data?
Интересует сама дата, USD в 3 вариантах.
Пробовал так, но не смог вытянуть нужное:
$json = file_get_contents($json_url);
$data = json_decode($json);
foreach ($data as $item) {
echo $item->USD;
}
Результат:
stdClass Object
(
[status] => stdClass Object
(
[timestamp] => 2021-05-03T16:47:16.362Z
[error_code] => 0
[error_message] =>
[elapsed] => 370
[credit_count] => 0
[notice] =>
)
[data] => stdClass Object
(
[2016-10-26T02:39:28.000Z] => stdClass Object
(
[BTC] => Array
(
[0] => 1
)
[USD] => Array
(
[0] => 660.28167725
[1] => 87283944
[2] => 10525640015.288
)
)
[2016-10-27T02:39:28.000Z] => stdClass Object
(
[BTC] => Array
(
[0] => 1
)
[USD] => Array
(
[0] => 685.96984863
[1] => 93600296
[2] => 10936274615.024
)
)
Ответы (1 шт):
Автор решения: splash58
→ Ссылка
Проще преобразовать в массив, добавив true как второй аргумент в json_decode, а дальше примерно так
$data = json_decode($json, true);
foreach($data['data'] as $datetime => $v) {
foreach($v['USD'] as $val) {
echo "$datetime $val<br>\n";
}
}
