以下是测试程序,包括中文字符:
# -*- coding: utf-8 -*-
import json
j = {"d":"?", "e":"a"}
json = json.dumps(j, encoding="utf-8")
print json
Run Code Online (Sandbox Code Playgroud)
下面是结果,看看json.dumps将utf-8转换为原始数字!
{"e": "a", "d": "\u4e2d"}
Run Code Online (Sandbox Code Playgroud)
为什么这会被打破?或者我错了什么?
Ign*_*ams 59
看起来对我来说是有效的JSON.如果要json输出其中包含非ASCII字符的字符串,则需要先传递ensure_ascii=False然后手动编码.
使用simplejson与上述选项:
# -*- coding: utf-8 -*-
import simplejson as json
j = {"d":"?", "e":"a"}
json = json.dumps(j, ensure_ascii=False, encoding="utf-8")
print json
Run Code Online (Sandbox Code Playgroud)
前前后后:
{"e": "a", "d": "?"}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34498 次 |
| 最近记录: |