Daha " daha iyi bir hata iletisi görüntüleme;JSON nesne deşifre" olabilir;
Biraz uzun karmaşık JSON dosyasından veri yüklemek için Python kodu:
with open(filename, "r") as f:
data = json.loads(f.read())
JSON hatası birçok türleri (dize eksik sınırlayıcı, ters, hatalı, vb.), bu güzel yararlı bir mesaj JSON hata bulunduğu satır ve sütun sayısı içeren yazdırır.
Ancak, diğer türleri JSON hatası (dahil olmak üzere klasik bir "virgül kullanarak son maddeye liste" ama başka şeyler de var gibi sermaye doğru/yanlış), Python çıktı sadece:
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 bu tür için, ne için Python alabilirim nerede JSON hata dosyası mı?
CEVAP
simplejson modül yerleşik json modül belirsiz olduğu birçok durumda daha açıklayıcı bir hata verdiğini buldum. Bir öğe sonra virgül olması durumunda örneğin,:
json.loads('[1,2,]')
....
ValueError: No JSON object could be decoded
çok açıklayıcı değil. simplejson ile aynı operasyon:
simplejson.loads('[1,2,]')
...
simplejson.decoder.JSONDecodeError: Expecting object: line 1 column 5 (char 5)
Çok daha iyi! Diğer ortak hatalar için aynı şekilde True sermaye gibi.

Özyineleme döngüsü her zamankinden dah...
JS dönüştürmek için daha iyi bir yolu ...
Türü, dize ya da ' if ' daha hızlı geç...
ARC ile,'in daha iyi ne: ayırma v...
Neden Standart girdiden okuma satır Py...