,python"/>

首页 > 解决方案 > 如何将包含列表的字符串转换为

问题描述

我无法将变量 foo (str) 中的数据转换为 Python v3.7.2 中的 List 对象,有没有简单的方法可以做到这一点?

foo = "[{'ID': 6622, 'Status': 'Invoice processed'}]"
type(foo) # str

标签: python

解决方案


eval(foo)或者literal_eval是其他答案中推荐的最灵活的方法。

另一种方法是,如果您的字符串是有效的 JSON,则使用json.loads(foo), 但要求字符串是有效的 JSON(键名周围的双引号)

import json
foo = '[{"ID": 6622, "Status": "Invoice processed"}]'
bar = json.loads(foo)
# bar == [{"ID": 6622, "Status": "Invoice processed"}]

然后您可以将其转换回字符串:

import json
foo = [{"ID": 6622, "Status": "Invoice processed"}]
bar = json.dumps(foo)
# bar == '[{"ID": 6622, "Status": "Invoice processed"}]'

推荐阅读