Skip to main content
 首页 » 编程设计

python之django/python 将表示 python 字典的字符串转换为字典对象

2025年05月04日31zhujiabin

我有一个字符串代表从数据库表返回的 python 字典,例如

{'name': 'John', 'email': 'test@test.com'} 

其中 {'name': 'John', 'email': 'test@test.com'} 作为字符串从数据库返回

然后我有一个函数接收字典作为 **kwargs 例如

def print_details(*args, **kwargs): 
    name = kwargs.pop('name', None) 
    email = kwargs.pop('email', None) 
 
    print "%s - %s " % (name, email) 

我想做

dict = DB return value 
print_details(dict)  

但我不知道如何将字符串字典转换成python字典

我正在使用 Django,但如果 Django 没有办法,那么 Python 显然也可以工作

请您参考如下方法:

ast.literal_eval是一个非常受限制的、更安全的 eval,它只评估文字(例如,包含字符串、整数、 float 、……文字的字典、元组或列表文字)。

JSON 解析器也适用于更受限制的子集( bool 值不同,null 而不是 None,没有元组,甚至更多)。同样,the standard library can do this (并且有针对旧 Python 版本的第三方解决方案)。