Доброе утро! Хочу попросить помощи в следующем вопросе - есть строка json такого формата: Код (Text): {"report":"fullnews","id":"01603b5c5c6feb41a408c80a1852a49","objects":[{"number":"1123","message":"Text","date":"1541934682"},{"number":"1111","message":"Text","date":"1541934682"}]} Мне нужно импортировать в бд эти данные. Никак не соображу.. Прошу ткнуть носом не могу именно понять как мне разделить Код (Text): {"number":"1123","message":"Text","date":"1541934682"} и Код (Text): {"number":"1111","message":"Text","date":"1541934682"} с данным id , что бы их построчно занести в бд Код (Text): id | number | message| date objects[0]->.. не подходит.. так, как данных может быть 200+, точное количество не известно
@buromax, предложенная строка декодируется функцией json_decode в следующий объект: Код (Text): object(stdClass)[1] public 'report' => string 'fullnews' (length=8) public 'id' => string '01603b5c5c6feb41a408c80a1852a49' (length=31) public 'objects' => array (size=2) 0 => object(stdClass)[2] public 'number' => string '1123' (length=4) public 'message' => string 'Text' (length=4) public 'date' => string '1541934682' (length=10) 1 => object(stdClass)[3] public 'number' => string '1111' (length=4) public 'message' => string 'Text' (length=4) public 'date' => string '1541934682' (length=10) В чем заключается проблема? Надо импортировать в абстрактную БД, или есть база с определенной структурой? Какая СУБД используется?
подготовленным запросом с метками, крутить в цикле execute с данными. Каким расширением вы пользуетесь для подключения к бд ?
Вот, например: PHP: $str = '{"report":"fullnews","id":"01603b5c5c6feb41a408c80a1852a49","objects":[{"number":"1123","message":"Text","date":"1541934682"},{"number":"1111","message":"Text","date":"1541934682"}]}'; $obj = json_decode($str); foreach($obj->objects as $item) { echo $item->number; echo ', '.$item->message; echo ', '.$item->date; echo '<br>'; } --- Добавлено --- Для этого можно создать две таблицы. Одна - данные о "глобальном объекте", с его id и report; другая - данные из objects (obj_id, number, message, date), где obj_id - внешний ключ === id из первой таблицы. Для второй таблицы - уникальный индекс (или первичный ключ) по obj_id и number.
Да такой вариант подходит.. хочу Вас попросит набросать хоть наглядно как реализовать данный вариант, если не трудно.. вторые сутки пытаюсь сам..
PHP: json_decode($json, true) Второй параметр сделает из JSON массив. Пруф: Если TRUE, возвращаемые объекты будут преобразованы в ассоциативные массивы. Сылка: https://php.ru/manual/function.json-decode.html