Чем разобрать строку
Модератор: immortal
- Svetлая
- Сообщения: 238
- Зарегистрирован: Вс май 06, 2018 11:36 pm
- Благодарил (а): 80 раз
- Поблагодарили: 75 раз
- Контактная информация:
Чем разобрать строку
Всем привет.
Подскажите примером, как разобрать строку получаемою https://куку/get/тусипуси.json
Строка выглядит так:
{"wifi":3,"dbm":-59,"voice":null,"time":"11:11:1","weekday":"Fri","mode":1}
На деле строка длиннее и кол-во данных может меняться как по кол-ву так и местами.
Некоторые данные имеют спцс ", а некоторые не имеют. Поправить на модуле формат выхода данных не могу.
Спасибо.
Подскажите примером, как разобрать строку получаемою https://куку/get/тусипуси.json
Строка выглядит так:
{"wifi":3,"dbm":-59,"voice":null,"time":"11:11:1","weekday":"Fri","mode":1}
На деле строка длиннее и кол-во данных может меняться как по кол-ву так и местами.
Некоторые данные имеют спцс ", а некоторые не имеют. Поправить на модуле формат выхода данных не могу.
Спасибо.
-
- Сообщения: 104
- Зарегистрирован: Ср янв 09, 2019 8:37 pm
- Благодарил (а): 23 раза
- Поблагодарили: 26 раз
Re: Чем разобрать строку
http://php.net/manual/en/function.json-decode.php
http://php.net/manual/en/book.json.php
https://www.tutorialrepublic.com/php-tu ... arsing.php
И вообще про json почитать.
http://php.net/manual/en/book.json.php
https://www.tutorialrepublic.com/php-tu ... arsing.php
И вообще про json почитать.
- За это сообщение автора JackOfShadows поблагодарил:
- Svetлая (Пт мар 22, 2019 10:17 am)
- Рейтинг: 1.16%
- Svetлая
- Сообщения: 238
- Зарегистрирован: Вс май 06, 2018 11:36 pm
- Благодарил (а): 80 раз
- Поблагодарили: 75 раз
- Контактная информация:
-
- Сообщения: 3006
- Зарегистрирован: Чт авг 21, 2014 8:28 am
- Откуда: Киров, Россия
- Благодарил (а): 400 раз
- Поблагодарили: 1753 раза
- Контактная информация:
Re: Чем разобрать строку
Код: Выделить всё
$json = '{"wifi":3,"dbm":-59,"voice":null,"time":"11:11:1","weekday":"Fri","mode":1}';
$data = json_decode($json);
echo $data->wifi . PHP_EOL;
echo $data->dbm . PHP_EOL;
echo $data->voice . PHP_EOL;
echo $data->time . PHP_EOL;
echo $data->weekday . PHP_EOL;
echo $data->mode . PHP_EOL;
- Рейтинг: 1.16%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Мой CONNECT | Блоги | Telegram
- Svetлая
- Сообщения: 238
- Зарегистрирован: Вс май 06, 2018 11:36 pm
- Благодарил (а): 80 раз
- Поблагодарили: 75 раз
- Контактная информация:
Re: Чем разобрать строку
echo $data->wifi . PHP_EOL;
$data->wifi - это определение что искать в строке?
PHP_EOL; - это "до конца файла" или до разделителя. Если разделитель, то какой? Где-то читала что для json два разделителя (для русского и всех остальных), но могу и ошибаться.
Не понятна первая строка, можете прокомментировать?
$json = '{"wifi":3,"dbm":-59,"voice":null,"time":"11:11:1","weekday":"Fri","mode":1}';
Данные в ней постоянно меняются. Т.е. от запроса к запросу, данные всегда разные.
$data->wifi - это определение что искать в строке?
PHP_EOL; - это "до конца файла" или до разделителя. Если разделитель, то какой? Где-то читала что для json два разделителя (для русского и всех остальных), но могу и ошибаться.
Не понятна первая строка, можете прокомментировать?
$json = '{"wifi":3,"dbm":-59,"voice":null,"time":"11:11:1","weekday":"Fri","mode":1}';
Данные в ней постоянно меняются. Т.е. от запроса к запросу, данные всегда разные.
-
- Сообщения: 1463
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: Чем разобрать строку
Это вывод того, что (какой конкретный параметр) "вытаскивается" из массива.
Первая строка -- это просто фрагмент ваших же данных из примера, сохраненный в переменную $json.
Вставьте этот код в любой онлайн-тестировшик PHP-кода (например, сюда https://www.jdoodle.com/php-online-editor) и вы все поймете.
В вашем случае вместо "статичных" данных будет что-то типа:
Код: Выделить всё
$json = file_get_contents("https://куку/get/тусипуси.json");
- Рейтинг: 1.16%
- Svetлая
- Сообщения: 238
- Зарегистрирован: Вс май 06, 2018 11:36 pm
- Благодарил (а): 80 раз
- Поблагодарили: 75 раз
- Контактная информация:
Re: Чем разобрать строку
Код: Выделить всё
$url='https://куку/get/тусипуси.json';
$json = file_get_contents($url);;
$data = json_decode($json);
// Предположим у нас есть объект Vasy который имеет Свойства "wifi, dbm, voice, time, weekday, mode"
setGlobal ("Vasy.wifi", $data->wifi . PHP_EOL); // Перечисляем ВСЕ переменные
setGlobal ("Vasy.dbm", $data->dbm . PHP_EOL); // которые могут встретиться
setGlobal ("Vasy.voice", $data->voice . PHP_EOL); // при загрузке
setGlobal ("Vasy.time", $data->time . PHP_EOL); // и раскладываем по своим
setGlobal ("Vasy.weekday", $data->weekday . PHP_EOL); // местам
setGlobal ("Vasy.mode", $data->mode . PHP_EOL); //
П.С. извините за глупые вопросы, не программист я, мне проще сломать чем создать ))
Последний раз редактировалось Svetлая Пт мар 22, 2019 11:50 am, всего редактировалось 1 раз.
- Svetлая
- Сообщения: 238
- Зарегистрирован: Вс май 06, 2018 11:36 pm
- Благодарил (а): 80 раз
- Поблагодарили: 75 раз
- Контактная информация:
Re: Чем разобрать строку
Ага, спасибо, это я помню ещё )))В вашем случае вместо "статичных" данных будет что-то типа:Код: Выделить всё
$json = file_get_contents("https://куку/get/тусипуси.json");
-
- Сообщения: 1463
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: Чем разобрать строку
Только лишнюю ";" уберите.
Нечего извинятся. Тут практически все не программисты. А программисты, которые сюда заглядывают (за редким исключением), как правило, на такие вопросы не отвечают (ниже это, понимаешь, их достоинства).
- Рейтинг: 1.16%
- Svetлая
- Сообщения: 238
- Зарегистрирован: Вс май 06, 2018 11:36 pm
- Благодарил (а): 80 раз
- Поблагодарили: 75 раз
- Контактная информация:
Re: Чем разобрать строку
Это точно )))
Спасибо Вам! Сейчас до дому "достучусь, проверю", руки чешутся )))
Спасибо Вам! Сейчас до дому "достучусь, проверю", руки чешутся )))