我使用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