对于一个小组项目,我必须使用 python 导入一个 JSON 对象。坏事是 python 一直给我一条错误消息,即使 JSON 字符串是正确的(用 JSONLint 检查它)。我用来测试的脚本如下:
import json
correct_json = """ {
"created_at": "Tue Feb 19 18:42:07 +0000 2013",
"id": 303937526471725060,
"id_str": "303937526471725056",
"text": "Batavierenrace door #Ulft: Eind april klinkt jaarlijks het startschot voor de grootste estafetteloop v... http:\\/\\/t.co\\/hijGD3pk #Enschede",
"source": "<a href=\"http://twitterfeed.com\" rel=\"nofollow\"> twitterfeed </a>",
"truncated": false,
"in_reply_to_status_id": null,
"in_reply_to_status_id_str": null,
"in_reply_to_user_id": null,
"in_reply_to_user_id_str": null,
"in_reply_to_screen_name": null,
"user": {
"id": 258430204,
"id_str": "258430204",
"name": "EnschedeNieuws",
"screen_name": "nieuws_enschede",
"location": "",
"url": "http://drimble.nl/regio/overijssel/enschede/",
"description": "AlhetnieuwsoverEnschede",
"protected": false,
"followers_count": 1344,
"friends_count": 17,
"listed_count": 18,
"created_at": "Sun Feb 27 18:17:21 +0000 2011",
"favourites_count": 0,
"utc_offset": null,
"time_zone": null,
"geo_enabled": false,
"verified": false,
"statuses_count": 20044,
"lang": "en",
"contributors_enabled": false,
"is_translator": false,
"profile_background_color": "131516",
"profile_background_image_url": "http://a0.twimg.com/images/themes/theme14/bg.gif",
"profile_background_image_url_https": "https://si0.twimg.com/images/themes/theme14/bg.gif",
"profile_background_tile": true,
"profile_image_url": "http://a0.twimg.com/profile_images/1256839194/enschede_normal.jpg",
"profile_image_url_https": "https://si0.twimg.com/profile_images/1256839194/enschede_normal.jpg",
"profile_link_color": "009999",
"profile_sidebar_border_color": "EEEEEE",
"profile_sidebar_fill_color": "EFEFEF",
"profile_text_color": "333333",
"profile_use_background_image": true,
"default_profile": false,
"default_profile_image": false,
"following": null,
"follow_request_sent": null,
"notifications": null
},
"geo": null,
"coordinates": null,
"place": null,
"contributors": null,
"retweet_count": 0,
"entities": {
"hashtags": [
{
"text": "Ulft",
"indices": [
20,
25
]
},
{
"text": "Enschede",
"indices": [
127,
136
]
}
],
"urls": [
{
"url": "http://t.co/hijGD3pk",
"expanded_url": "http://bit.ly/UE0MCq",
"display_url": "bit.ly/UE0MCq",
"indices": [
106,
126
]
}
],
"user_mentions": []
},
"favorited": false,
"retweeted": false,
"possibly_sensitive": false
} """
other_json = """ { \
"foo" : 5,\
"bar" : ["spam", "eggs"] \
} """
print(json.dumps(json.loads(correct_json), sort_keys=True, indent=4 * ' '))
很抱歉刚刚就这么大的 JSON 结构寻求帮助,但是这段代码已经让我的齿轮运转了一个多小时,我就是无法发现错误。我希望训练有素的 JSON 侦探可以帮助我。python给我的错误是:
D:\Documenten\Dropbox>python jsontest.py
Traceback (most recent call last):
File "jsontest.py", line 99, in <module>
print(json.dumps(json.loads(correct_json), sort_keys=True, indent=4 * ' '))
File "C:\Python33\lib\json\__init__.py", line 319, in loads
return _default_decoder.decode(s)
File "C:\Python33\lib\json\decoder.py", line 352, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Python33\lib\json\decoder.py", line 368, in raw_decode
obj, end = self.scan_once(s, idx)
ValueError: Expecting ',' delimiter: line 6 column 25 (char 305)
我正在使用 Python 3。我可能错过了一些愚蠢的东西(这不是第一次)。提前致谢!