कुछ लंबे जटिल 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 त्रुटि के अन्य प्रकारों के लिए (क्लासिक "एक सूची में अंतिम आइटम पर अल्पविराम का उपयोग करके", लेकिन यह भी सच / झूठ को बड़ा करने जैसी अन्य चीजें हैं), पायथन का आउटपुट सिर्फ:
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 के लिए, आपको यह बताने के लिए पायथन कैसे मिलता है कि JSON फ़ाइल में त्रुटि कहाँ है?
json.load(f)इसके बजाय कर सकते हैंjson.loads(f.read())