Python で文字列をリストに変換する必要があります。文字列の形式は次のとおりです。
'[{"name":"Tom","adress":"adress1"},{"name":"Mari","adress":"adress2"}]'
この文字列を pythonリストデータ型に変換する必要があり、その生成されたリストを反復して辞書を取得したいと考えています。
私はjsonライブラリを試しましたが、運がありません。>修正(json.loadsは動いています。)
正しい方法を教えてください。
Python で文字列をリストに変換する必要があります。文字列の形式は次のとおりです。
'[{"name":"Tom","adress":"adress1"},{"name":"Mari","adress":"adress2"}]'
この文字列を pythonリストデータ型に変換する必要があり、その生成されたリストを反復して辞書を取得したいと考えています。
私はjsonライブラリを試しましたが、運がありません。>修正(json.loadsは動いています。)
正しい方法を教えてください。
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'}]
>>>
いくつかのコメントで指摘されているように、eval組み込み関数はそのような文字列を解析できますが、安全ではありません! したがって、このast.literal_eval方法を優先する必要があります。