⊗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
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ