如何将字符串转换为Python对象?

Adi*_*ngh -2 python django

所以,我得到了这段字符串:

"[{'id': 45, 'user_id': 2, 'cart_item_id': UUID('0fdc9e75-3d9c-4b89-912b-7058e1233432'), 'quantity': 1}]"
Run Code Online (Sandbox Code Playgroud)

我想将它转换为python 中的listof 任何人都可以帮我吗dict

go2*_*ana 5

一个很好的方法是使用eval()

my_obj = eval(your_string)
Run Code Online (Sandbox Code Playgroud)

一种不太好但更安全的方法是将其解析为json. 但必须首先处理引号:

my_obj = json.loads(your_string.replace("'", '"')
Run Code Online (Sandbox Code Playgroud)

必须谨慎使用选项 1,因为eval它会评估任何 python 代码,因此很容易受到攻击。选项 2 没问题,但可能会出现带引号的极端情况。