Así que he pasado mucho tiempo en esto, y me parece que debería ser una solución simple. Intento utilizar la Autenticación de Facebook para registrar usuarios en mi sitio, y estoy tratando de hacerlo desde el lado del servidor. He llegado al punto donde consigo mi token de acceso, y cuando voy a:Cadena de diccionario en Python
https://graph.facebook.com/me?access_token=MY_ACCESS_TOKEN
consigo la información que estoy buscando como una cadena que es así:
{"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"}
parece que yo debería ser capaz de utilizar dict(string)
en esto, pero estoy recibiendo este error:
ValueError: dictionary update sequence element #0 has length 1; 2 is required
Así que he intentado usar la salmuera, pero esta tiene err o:
KeyError: '{'
He intentado utilizar django.serializers
des-serializar pero tuvo resultados similares. ¿Alguna idea? Siento que la respuesta tiene que ser simple, y solo estoy siendo estúpido. ¡Gracias por cualquier ayuda!
Si quiere evaluar la cadena como Python, puede necesitar cambiar su cadena: '" verificado ": true' falla a menos que se defina' true'. O puede usar '" verificado ": verdadero', o' "verificado": "verdadero" '. –
@Matt: dudo que pueda cambiar el formato de salida de graph.facebook.com. –
@Fred: Dado el título de la pregunta ("Cadena para diccionario en Python"), creo que podría cambiarla de Python antes de que llame a 'ast.literal_eval()'. Sin embargo, su respuesta (revisada) es correcta: un deserializador JSON es una mejor solución. –