我正在尝试加载json文件,但它发出错误。 我的代码是:
import json
with open('test.json','r') as data_file:
for line in data_file:
data = json.loads(line)
sub = ""
sub += data["author"]
print sub
data_file.close()
test.json:
{
"link_flair_text": "Help",
"permalink": "/r/GlobalOffensive/comments/380nzf/question_on_regarding_operation_missions/",
"ups": 0,
"retrieved_on": 1440701267,
"selftext": "so with the missions you can only complete 1 a day, but if I were to go on leave, does the limit you can complete start stacking? so if I miss a week, i got 7 missions i can do back to back the following week?",
"media": null,
"domain": "self.GlobalOffensive",
"hide_score": false,
"created_utc": "1433116803",
"author_flair_text": null,
"media_embed": {},
"subreddit": "GlobalOffensive",
"title": "question on regarding operation missions",
"secure_media_embed": {},
"downs": 0,
"thumbnail": "self",
"distinguished": null,
"stickied": false,
"from_id": null,
"url": "http://www.reddit.com/r/GlobalOffensive/comments/380nzf/question_on_regarding_operation_missions/",
"secure_media": null,
"subreddit_id": "t5_2sqho",
"created": 1433120403,
"from_kind": null,
"edited": false,
"score": 0,
"quarantine": false,
"name": "t3_380nzf",
"link_flair_css_class": "help",
"gilded": 0,
"id": "380nzf",
"archived": false,
"num_comments": 1,
"author_flair_css_class": null,
"saved": false,
"over_18": false,
"is_self": true,
"from": null,
"author": "Takonic"
}
错误:
Traceback (most recent call last):
File "jsonfilter.py", line 5, in <module>
data = json.loads(line)
File "/usr/lib64/python2.7/json/__init__.py", line 338, in loads
return _default_decoder.decode(s)
File "/usr/lib64/python2.7/json/decoder.py", line 368, in decode
raise ValueError(errmsg("Extra data", s, end, len(s)))
ValueError: Extra data: line 1 column 6 - line 2 column 1 (char 5 - 2241)
我在python-2.7中执行它。所以请尽可能在python-2.7中提供解决方案。
即使在Python json.loads shows ValueError: Extra data有错误的解决方案,我也会问这个问题,因为如果我在该问题中使用解决方案,我将无法从数据中提取字段。