К JSON можно относиться как к одной из разновидностей текстовых форматов передачи данных. Но для PHP это просто ещё одна скалярная строка. Как определить, что перед нами действительно JSON?
Чтобы убедиться, придется попытаться декодировать строку. При неудачной декодировке функция возвращает NULL:
|
if (!is_null(json_decode($JSON_string))) { // строка в формате JSON } |
Для полноты добавим проверку на то, что перед нами скаляр-строка. Тогда валидатор будет выглядеть так:
|
function isJSON($str) { return is_string($str) && !is_null(json_decode($str)); } |
В JSON может быть закодировано значение «NULL», тогда json_decode также возвращает NULL, как и в случае ошибки. В остальных случаях валидатор выдаёт верный результат.
|
echo isJSON(1); // выведет FALSE - верно, т.к. скаляр является числом echo isJSON("1"); // выведет TRUE - верно echo isJSON("NULL"); // выведет FALSE - тот самый особенный случай echo isJSON("[1,2,3]"); // выведет TRUE - верно |
Валидатор
Данная запись опубликована в 02.10.2018 21:17 и размещена в рубрике PHP.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Сентябрь 24, 2015 г.
Продолжая тему валидаторов, публикую код двух функций для проверки введенных пользователем кодов ОГРН или ОГРНИП.
Проверка кода ОГРН. Код содержит 13 знаков, последний из них используется для проверки "контрольной суммы".
[crayon-68958827e64ca788936211/] ...
Читать
Ноябрь 10, 2015 г.
Серию валидаторов пополняю функцией проверки введенного email на соответствие формальным требованиям.
По стандарту RFC822
Если есть необходимость соблюсти все требования, которые упомянуты в громоздкой спецификации RFC822, то лучший путь - воспользоваться ...
Читать
Сентябрь 26, 2015 г.
Здесь можно проверить ИНН в режиме онлайн. Узнать верна ли контрольная сумма, верен ли ИНН.
Проверка проводится по специальной формуле - пример функции проверки на PHP. Можно вводить как ИНН для юр.лиц, так и ИНН для ИП.
Читать
Сентябрь 23, 2015 г.
В этом году писал реализацию данной функции для проекта C2C-base. Оказывается, бывает ИНН двух видов - для юридических лиц и физ лиц - 10 или 12 знаков соответственно. Проверка большинства подобных кодов осуществляется по контрольным цифрам, содержащимся ...
Читать