Intereting Posts
Добавление объектов в JSON-файл с помощью JQuery php как хранить и читать данные json через mysql? PHP PDO Подготовленный запрос оператора, не обновляющий запись Вставка нескольких элементов в один ID MySQL из флажка ввода PHP-формы Загрузка изображения с PHP – переименование без потери расширения? Французский атрибут apostrophe в базе данных mysql? Проверьте MySQL, если данные уже существуют, если нет, INSERT. Можно ли использовать JQuery для вставки закрывающего тега </ tr> и тэга открытия <tr> внутри динамической таблицы? mysql autocasting string для integer Эффективная стратегия автоматической загрузки и именования PHP как сравнить две таблицы в mysql и php? Является ли хранение данных в PHP $ _SESSION небезопасным? Объект stdClass и петли foreach конвертирование ВО ВРЕМЯ загрузки перед сохранением на сервере png / gif в jpg Рендеринг виджета SoundCloud для частного трека с использованием PHP API

Как обрабатывать ошибку json-декодирования с помощью try and catch

Я не могу обработать ошибку json decode. Я упоминаю свой код ниже:

try{ $jsonData=file_get_contents($filePath). ']'; $jsonObj = json_decode($jsonData, true); } catch(Exception $e){ echo '{"result":"FALSE","message":"Caught exception: '. $e->getMessage().' ~'.$filePath.'"}'; } 

Я новый программист php. Извините, если что-то не так.

Related of "Как обрабатывать ошибку json-декодирования с помощью try and catch"

Другой способ обработки ошибки json-декодирования:

 if ($jsonObj === null && json_last_error() !== JSON_ERROR_NONE) { echo "json data is incorrect"; } 

json_decode возвращает значение null при возникновении ошибки, например, не имеет значения json или превышает размер глубины. Поэтому в основном вы просто проверяете, является ли полученная вами jsondata нулевой или нет. Если это так, используйте json_last_error, чтобы понять, что пошло не так, если не продолжить работу с скриптом.

 $json_data = json_decode($source, true); if($json_data == null){ echo json_last_error() . "<br>"; echo $source; // good to check what the source was, to see where it went wrong }else{ //continue with script } 

Что-то вроде этого должно работать.

Может быть, вы можете попробовать, json_decode

 try { $jsonData = file_get_contents($filePath) . ']'; $jsonObj = json_decode($jsonData, true); if (is_null($jsonObj)) { throw ('Error'); } } catch (Exception $e) { echo '{"result":"FALSE","message":"Caught exception: ' . $e->getMessage() . ' ~' . $filePath . '"}'; } 

Прочтите это тоже