Я не могу обработать ошибку 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. Извините, если что-то не так.
Другой способ обработки ошибки 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 . '"}'; }
Прочтите это тоже