将字符串转换为字典python

我想要一本字典

 >>> page_detail_string = urllib2.urlopen("http://graph.facebook.com/Ideas4India").read()

它返回一个字符串

>>> page_detail_string
'{"about":"Ideas for development of India","category":"Community","description":"Platform where you can discuss and share your ideas which you think might help in betterment of our country.\\nPlease respect other community members and do not talk politics here.","is_published":true,"talking_about_count":0,"username":"Ideas4India","were_here_count":0,"id":"250014455083430","name":"Ideas 4 India","link":"http:\\/\\/www.facebook.com\\/Ideas4India","likes":23}'

现在我想将它转换为字典,我可以使用ast.literal_eval轻松完成

>>> import ast
>>> dict_page = ast.literal_eval(page_detail_string)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/ast.py", line 80, in literal_eval
return _convert(node_or_string)
File "/usr/lib/python2.7/ast.py", line 63, in _convert
in zip(node.keys, node.values))
File "/usr/lib/python2.7/ast.py", line 62, in <genexpr>
return dict((_convert(k), _convert(v)) for k, v
File "/usr/lib/python2.7/ast.py", line 79, in _convert
raise ValueError('malformed string')

但我认为它会抛出这个错误因为

"is_published":true

有没有办法我可以通过剥离键和值(“is_published”:true)将其转换为字典.

谢谢

最佳答案
你得到的是一个json字符串,你应该使用json.loads转换为dict

import json
json.loads(page_detail_string)

转载注明原文:将字符串转换为字典python - 代码日志