1

Python で文字列をリストに変換する必要があります。文字列の形式は次のとおりです。

'[{"name":"Tom","adress":"adress1"},{"name":"Mari","adress":"adress2"}]'

この文字列を pythonリストデータ型に変換する必要があり、その生成されたリストを反復して辞書を取得したいと考えています。

私はjsonライブラリを試しましたが、運がありません。>修正(json.loadsは動いています。)

正しい方法を教えてください。

4

2 に答える 2

6

ast.literal_eval問題なくできます。

>>> s = '[{"name":"Tom","adress":"adress1"},{"name":"Mari","adress":"adress2"}]'
>>> import ast
>>> ast.literal_eval(s)
[{'adress': 'adress1', 'name': 'Tom'}, {'adress': 'adress2', 'name': 'Mari'}]

しかしjson.loads、それにも問題はないようです...

>>> import json
>>> json.loads(s)
[{u'adress': u'adress1', u'name': u'Tom'}, {u'adress': u'adress2', u'name': u'Mari'}]
>>> 
于 2013-02-18T14:03:04.603 に答える
3

いくつかのコメントで指摘されているように、eval組み込み関数はそのような文字列を解析できますが、安全ではありません! したがって、このast.literal_eval方法を優先する必要があります。

于 2013-02-18T14:09:53.950 に答える