⊗ppSpJnPE 20 of 83 menu

Грешки на парсера при анализ на JSON в PHP

С помощта на функцията json_last_error можем да разберем каква точно грешка е възникнала при парсването на JSON. Нека да видим как се прави това. Нека имаме некоректен JSON:

<?php $json = '["a", "b", "c",]'; ?>

Нека се опитаме да го анализираме:

<?php $data = json_decode($json); var_dump($data); // ще върне null ?>

Тъй като е възникнала грешка, то json_last_error при извикване ще върне номера на тази грешка:

<?php $error = json_last_error(); var_dump($error); // номер на грешката ?>

Върнатият номер може да се сравнява със специални константи на PHP. Въз основа на това може да се напише код, който улавя различни типове грешки:

<?php switch (json_last_error()) { case JSON_ERROR_NONE: echo 'няма грешки'; break; case JSON_ERROR_DEPTH: echo 'достигната е максимална дълбочина на стека'; break; case JSON_ERROR_STATE_MISMATCH: echo 'некоректни битове или несъответствие на режими'; break; case JSON_ERROR_CTRL_CHAR: echo 'некоректен управляващ символ'; break; case JSON_ERROR_SYNTAX: echo 'синтактична грешка, некоректен JSON'; break; case JSON_ERROR_UTF8: echo 'некоректни UTF-8 символи, вероятно некоректно кодирани'; break; default: echo 'непозната грешка'; break; } ?>

Даден е низ с някакъв JSON. Анализирайте го в структура от данни на PHP. Изведете резултата от анализа или причината за грешката, ако анализът на JSON не успее.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне