對於組項目,我必須使用python導入JSON對象。不好的一面是,即使JSON字符串正確(使用JSONLint檢查它),python仍然給我一條錯誤消息。該腳本我用它來測試,這是如下:即使輸入正確,Python JSON模塊也會出錯
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偵探能幫助我。錯誤蟒蛇給我的是:
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,我可能失去了一些東西愚蠢的(它不會是第一次)。提前致謝!
爲什麼json以「」開頭? – MONTYHS
@MONTYHS:要啓用多行字符串而不使用\(或/,不知道哪一個啓用了多行的東西)和字符串解釋(我猜) – bobismijnnaam