我需要在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
应该首选该方法。