รหัสไพ ธ อนเพื่อโหลดข้อมูลจากไฟล์ JSON ที่ซับซ้อนบางอัน:
with open(filename, "r") as f:
data = json.loads(f.read())
(หมายเหตุ: รหัสที่ดีที่สุดควรเป็น:
with open(filename, "r") as f:
data = json.load(f)
แต่ทั้งคู่แสดงพฤติกรรมที่คล้ายกัน)
สำหรับข้อผิดพลาด JSON หลายประเภท (ตัวคั่นที่หายไปเครื่องหมายแบ็กสแลชที่ไม่ถูกต้องในสตริง ฯลฯ ) ข้อความนี้จะพิมพ์ข้อความที่มีประโยชน์ดีที่มีบรรทัดและหมายเลขคอลัมน์ที่พบข้อผิดพลาด JSON
อย่างไรก็ตามสำหรับข้อผิดพลาด JSON ประเภทอื่น ๆ (รวมถึงแบบคลาสสิก "การใช้เครื่องหมายจุลภาคในรายการสุดท้ายในรายการ" แต่ยังมีสิ่งอื่น ๆ เช่นการใช้อักษรตัวพิมพ์ใหญ่จริง / เท็จ) เอาต์พุตของ Python เป็นเพียง:
Traceback (most recent call last):
File "myfile.py", line 8, in myfunction
config = json.loads(f.read())
File "c:\python27\lib\json\__init__.py", line 326, in loads
return _default_decoder.decode(s)
File "c:\python27\lib\json\decoder.py", line 360, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "c:\python27\lib\json\decoder.py", line 378, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
สำหรับ ValueError ประเภทนั้นคุณจะรับ Python อย่างไรเพื่อบอกคุณว่ามีข้อผิดพลาดในไฟล์ JSON อย่างไร
json.load(f)
แทนjson.loads(f.read())