Как распарсить json в php?
В json приходят два типа данных, такие:
"urls": {
"0": "12.01.2021 16:16:19",
"2": "12.01.2021 16:16:38",
},
И такие:
"urls": [
"12.01.2021 09:20:34"
],
Пытаюсь записать их в бд вот так: bindParam(22, $row['urls'][0]); Но записывается только такой вид, как снизу. Как записывать оба вида?
Ответы (1 шт):
Автор решения: Darth KYL
→ Ссылка
Чтоб распарить json в php нужно использовать функцию json_decode( $json, true ). Второй параметр отвечает за вид json обьектов, когда параметр установлен в true данные будут возвращены ассоциативным массивом, когда параметр false json обьекты будут возвращены как объекты php
https://www.php.net/manual/ru/function.json-decode.php
$json_example_1 = json_decode('{"urls":{"0":"12.01.2021 16:16:19","2":"12.01.2021 16:16:38"}}', true );
на выходе у вас получится массив такого вида в первом случае
Array
(
[urls] => Array
(
[0] => 12.01.2021 16:16:19
[2] => 12.01.2021 16:16:38
)
)
$json_example_2 = json_decode('{"urls":["12.01.2021 09:20:34"]}', true );
и массив такого вида во втором случае
Array
(
[urls] => Array
(
[0] => 12.01.2021 09:20:34
)
)