如何将 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
)。
我有这样的代码:
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
)。