@sflyer

PHP — как извлечь данные из строки в массив?

Есть строка, которую присылает API. Формата примерно такого:
{"request_id":"2f3bc050-c872-4f64-a098-7dd352546f74","document_id":"391a4b3e-fb6e-4263-bb2f-ff46f3bf4c92","date":"2018-06-09 14:27:35","sys_id":"6be50ba4-c20c-4b90-90a4-c6edbb97fe06","doc_status":"FAILED_RESULT_READY"},{"request_id":"6a22d9bb-f79d-4044-8b73-d4b38e92c924","document_id":"a0af6c2a-56fb-49bc-93f5-870c8ce1d47c","date":"2018-06-09 14:20:12","sys_id":"6be50ba4-c20c-4b90-90a4-c6edbb97fe06","doc_status":"FAILED_RESULT_READY"}

Нужно достать данные и загнать их в массив для последующей выдачи в массив. Есть две идеи:
1)отрезать по длине функцией substr - отлично работает, кроме одной проблемы: ответ API не статичен и размер ответа может становиться больше или меньше. Не подходит!
2)preg_match выделить по маске от { до } в массив. Потом выделить от ковычек до ковычек из первого массива во второй. Но до меня ни как не доходит как построить для этого маску.
Подскажите как построить для моей задачи маску или как лучше решить данную задачу.
  • Вопрос задан
  • 82 просмотра
Решения вопроса 1
@masterfreelance
программист со стажем
У вас объекты JSON. Почитайте json_decode()
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Yan-s
Про json_decode() вам сказали, ок, вы не знали, но всё равно удивляют ваши идеи. Предположим, что никакого json не существует и данные вам передаются в каком то уникальном формате и ваша гипотеза, о его простоте верна. Ну какие же тогда substr и preg_match, вам же должна была напроситься php.net/manual/ru/function.explode.php для разделения значений и php.net/manual/ru/function.trim.php для удаления обрамляющих символов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы