我应用了json.loads()后得到了一个unicode字符串
u"{'1':2, '3':2}"
现在我如何在像
这样的字典中转换它{'1':2, '3':2}
我尝试过使用
re.sub
但仍然找不到任何东西。
答案 0 :(得分:3)
import ast
dictionary_object = ast.literal_eval(stringobj)
这支持字符串,数字,字典,列表,元组和集合,但不会执行任何其他Python代码(因此这里没有可执行代码风险)。
演示:
>>> import ast
>>> ast.literal_eval(u"{'1':2, '3':2}")
{'1': 2, '3': 2}
但是,很可能你不应该首先编码这样的值。看起来好像你做了:
obj = {'1': 2, '3': 2}
json.encode(str(obj))
而不是
obj = {'1': 2, '3': 2}
json.encode(obj)
后者生成一个合适的JSON对象,前者是一个包含Python字典表示的JSON字符串。