我在这上面花费了太多时间,但似乎这应该是一个简单的修复。我正在尝试使用Facebook的认证在我的网站上注册用户,并且我正在尝试在服务器端完成此操作。我已经获得了访问令牌,并且当我打开:
https://graph.facebook.com/me?access_token=MY_ACCESS_TOKEN
我会以如下形式的字符串获取所需信息:
{"id":"123456789","name":"John Doe","first_name":"John","last_name":"Doe","link":"http:\/\/www.facebook.com\/jdoe","gender":"male","email":"jdoe\u0040gmail.com","timezone":-7,"locale":"en_US","verified":true,"updated_time":"2011-01-12T02:43:35+0000"}
看起来我应该能够对其使用dict(string)
,但是我却得到了以下错误:
ValueError: dictionary update sequence element #0 has length 1; 2 is required
所以我尝试使用Pickle,但是我遇到了这个错误:
KeyError: '{'
我尝试使用django.serializers
进行反序列化,但结果相似。有什么想法吗?我感觉答案应该很简单,只是我太蠢了。感谢任何帮助!
"verified":true
会失败,除非true
被定义。或者您可以使用"verified":True
或"verified":"true"
。 - Matt Curtisast.literal_eval()
之前可以从Python中进行更改。尽管如此,您(修订后)的答案是正确的 - JSON反序列化程序是更好的解决方案。 - Matt Curtis