ดังนั้นฉันจึงใช้เวลากับเรื่องนี้มากและสำหรับฉันแล้วดูเหมือนว่ามันควรจะแก้ไขได้ง่ายๆ ฉันกำลังพยายามใช้การรับรองความถูกต้องของ 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
เพื่อยกเลิกการทำให้เป็นอนุกรม แต่ก็ได้ผลลัพธ์ที่คล้ายกัน ความคิดใด ๆ ? ฉันรู้สึกว่าคำตอบต้องง่ายและฉันก็โง่ ขอบคุณสำหรับความช่วยเหลือ!
ast.literal_eval()
ผมคิดว่าเขาอาจมีการเปลี่ยนแปลงได้จากงูใหญ่ก่อนที่เขาเรียกว่า คำตอบ (แก้ไข) ของคุณถูกต้อง แต่ตัวถอดรหัส JSON เป็นทางออกที่ดีกว่า
"verified":true
ล้มเหลวเว้นแต่true
จะกำหนดไว้ หรือคุณสามารถใช้"verified":True
หรือ"verified":"true"
.