如何将 mongoengine.to_json() 方法与 utf8 编码一起使用

How can I use mongoengine.to_json() method with utf8 encoding

我有这样的代码:

 import ast 
 objects = MenuModel.objects()
 data = ast.literal_eval(objects.to_json())

此代码 return :

    {
        "_id": {
            "$oid": "54eab211b0b7080827f3b9d3"
        }, 
        "name": "\u0627\u06cc\u0646\u0645 \u06cc\u0647 \u06cc\u0648\u0646\u06cc \u06a9\u062f", 
    }

而且我不能 return unicode 数据。我如何将 "name" 文件转换为 unicode?

>>> 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)。