0

私のプロジェクトでは、json データを評価して情報を抽出します。コードは次のとおりです。

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])

これを Python 2.4 互換に変更するにはどうすればよいですか?


私の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' (...)

4

1 に答える 1

3

ast.literal_evalとにかく、それは仕事にとって間違ったことです。simplejson.load(r)(または、新しいバージョンでは simplejson の代わりに標準の json モジュールを使用します) 。

ast.literal_eval は、Python リテラルを評価するように設計されています。JSON はほとんど同じですが、完全ではありません (True/False/None ではなく true/false/null)。

于 2010-12-21T15:51:51.463 に答える