我寫了一個名爲kommscache.json
的JSON對象(由其他人生成,代碼中我無法訪問),現在我試圖在Python中再次讀取它。我的JSON對象有什麼問題?
這是我做的:
import json
from pprint import pprint
with open('kommscache.json') as data_file:
data = json.load(data_file)
pprint(data)
在調用json.load()
,我收到以下錯誤信息:
Traceback (most recent call last):
File "./kladd.py", line 7, in <module>
data = json.load(data_file)
File "/usr/lib/python2.7/json/__init__.py", line 280, in load
**kw)
File "/usr/lib/python2.7/json/__init__.py", line 328, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 365, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.7/json/decoder.py", line 381, in raw_decode
obj, end = self.scan_once(s, idx)
ValueError: Expecting property name: line 1 column 1 (char 1)
第一個JSON文件看起來像這樣的幾行(我已經試過非prettyprinted版本太多,結果相同):
{u'filtered': 458,
u'items': [{u'comment_count': 0,
u'current_revision': {u'created_by': {u'avatar': 19435601,
Unfortunatel Ÿ我無法向您顯示整個文件,因爲它包含一些敏感數據(並且它的長度超過6000行...),但是如果我正確讀取錯誤消息,則錯誤已在文件的開頭。但是,我看不出爲什麼這個JSON語法不正確。我已經仔細檢查過,並且此代碼段中的所有大括號和括號都與關閉的大括號相匹配。
爲什麼我無法加載這個JSON對象?
不知道JSON,但你看起來很腥。 – 2013-03-05 13:23:58
@JensSchauder:那些是Python unicode字符串文字。 'u'''創建一個unicode字符串,而'''創建一個字節字符串。這是Python,而不是JSON。 – 2013-03-05 13:25:54