Question

Dans mon projet, j'évaluer un ensemble de données JSON à l'information d'extrait. Le code est le suivant:

conn = httplib.HTTPConnection(host)
conn.request("GET", "/done_json.php")
r = conn.getresponse()
data = r.read()
tmp = ast.literal_eval(data)
list = []
for a in tmp.keys():
    list.append(tmp[a])

Comment puis-je changer cela est compatible Python 2.4?


Exemple de mon JSON:

{'key_64': {'size3': 'CNDCRNCDF3FY09XL7UUBCBCPTYE4H7YBG1I5MILNBW172BMHVI.png', 'id': 'CNDCRNCDF3FY09XL7UUBCBCPTYE4H7YBG1I5MILNBW172BMHVI', 'size2': '', 'size1': 'http://dev.geco.com/site/2/CNDCRNCDF3FY09XL7UUBCBCPTYE4H7YBG1I5MILNBW172BMHVI.png'}, 'key_65': {'size3': 'CNDCRNEHLW2XFFCC90PDE77EEJHJF6RC3R8PEVUACB0C34H330.png', 'id': 'CNDCRNEHLW2XFFCC90PDE77EEJHJF6RC3R8PEVUACB0C34H330' (...)

Était-ce utile?

La solution

Ne pas utiliser ast.literal_eval, c'est la mauvaise chose pour le travail de toute façon. Utilisez simplejson.load(r) (ou le module standard JSON au lieu de simplejson dans les versions plus récentes).

ast.literal_eval est conçu pour évaluer littéraux Python. JSON est la plupart du temps la même chose, mais pas tout à fait (vrai / faux / null au lieu de Vrai / Faux / Aucune).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top