2011-03-28 4 views
1

ceci est mon code:comment obtenir la valeur des données JSON en utilisant python

a = '''{"title":"sss","body":"wwww:aaa    
<a href='#' onclick='logout()' >fff</a> 
","data":{"status":0,"userName":"www","userId":"433"}}''' 
a = eval(a) 
print a.title 

mais montrer l'erreur:

Que puis-je faire,

grâce

+6

Désolé, ne peut pas aider. Jamais vu cette erreur avant. –

+0

Quelle est l'erreur? –

+0

duplication possible de [Noob: comment décoder JSON avec Python] (http://stackoverflow.com/questions/2331943/noob-how-to-decode-json-with-python) –

Répondre

6

Vous devrait utiliser un analyseur JSON tel que le module simplejson plutôt que d'utiliser eval:

>>> a = '''{"title":"sss", 
"body":"wwww:aaa&nbsp;&nbsp;&nbsp;<a href='#' onclick='logout()' >fff</a>", 
"data":{"status":0,"userName":"www","userId":"433"}}''' 
>>> import simplejson 
>>> parsed_data = simplejson.loads(a) 
>>> parsed_data['title'] 
'sss' 
0

Je voudrais aussi essayer demjson. Cela devrait vous permettre d'écrire vos données json sous forme d'objet python, puis de les encoder.

0

Fonctionne bien ici. Mais vous devez utiliser json/simplejson pour désérialiser, pas eval().

0

Les dictionnaires sont accessibles en tant que a["title"] en Python, et non en a.title. En dehors de cela, vous devez utiliser le module json de Python au lieu de eval().

Questions connexes