python - 如何将包含列表的字符串转换为
问题描述
我无法将变量 foo (str) 中的数据转换为 Python v3.7.2 中的 List 对象,有没有简单的方法可以做到这一点?
foo = "[{'ID': 6622, 'Status': 'Invoice processed'}]"
type(foo) # str
解决方案
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"}]'
推荐阅读
- sapui5 - DPC 类被触发两次
- java - Acitvemq 连接到 RHEL7.6 机器超时
- c# - 如何在通用存储库模式 Mvc.Net 实体框架中实现级联下拉列表?
- oracle - oracle数据库中如何压缩所有表
- laravel - 在 laravel 中自定义“can”函数
- c# - Asp net core 2.2 http 客户端 System.Net.Sockets.SocketException
- visual-studio-2019 - 值得注意的是从 Visual Studio 2019 中的源代码管理资源管理器更改工作区
- flutter - 无法为颤振应用程序记录 jmeter 脚本
- vb.net - 如何一一读取测试文件
- excel - 根据匹配列 BE 删除行,如果 = 12 或一行包含 12,则删除列 F