我使用Beej的Python Flickr API向Flickr請求JSON。未經解析字符串的Flickr返回看起來是這樣的:如何確保我的Python正則表達式輸出字典?
jsonFlickrApi({'photos': 'example'})
我要訪問返回的數據作爲一本字典,所以我有:
photos = "jsonFlickrApi({'photos': 'test'})"
# to match {'photos': 'example'}
response_parser = re.compile(r'jsonFlickrApi\((.*?)\)$')
parsed_photos = response_parser.findall(photos)
然而,parsed_photos是一個列表,而不是一本字典(根據鍵入(parsed_photos)它輸出,如:?
["{'photos': 'test'}"]
我如何能確保我的分析數據作爲字典式結束
不完全正確 - 您無法使用eval,因爲JSON與Python文字不兼容。例子:Python使用'None'; JSON使用'null'。 Python使用'True' /'False'; JSON使用'true' /'false' – Smashery 2010-10-19 01:05:22
@Smashery:這不是一個語法上的差異,你只需要定義null/true/false的地方,一切都會好的。這不是我推薦的東西,只是使用庫。 – 2010-10-19 01:10:01
我用你的第一個建議來得到一本字典 - 非常感謝!你能解釋一下parsed_photos [0]中的[0]代表什麼? – oldpal 2010-10-19 01:23:49