我有这样的代码:
import ast
objects = MenuModel.objects()
data = ast.literal_eval(objects.to_json())
此代码返回:
{
"_id": {
"$oid": "54eab211b0b7080827f3b9d3"
},
"name": "\\u0627\\u06cc\\u0646\\u0645 \\u06cc\\u0647 \\u06cc\\u0648\\u0646\\u06cc \\u06a9\\u062f",
}
我无法返回unicode数据。如何将“name”转换为unicode? p>
答案 0 :(得分:1)
>>> import json
>>> json_text = json.dumps(u'\N{ARABIC LETTER ALEF}')
>>> json_text
'"\\u0627"'
>>> #XXX WRONG DO NOT DO IT!!!
>>> import ast; ast.literal_eval(json_text)
'\\u0627'
如果您需要将json文本转换为Python对象,请执行此操作:
>>> json.loads(json_text)
u'\u0627'
或者避免致电.to_json()
并直接使用objects
对象(必要时将其转换为dict
。)