我正在从API加载一个json文件,并且数据中包含汉字,当我只打印结果时,这些字符就被完美地修饰了。
token = "xxxxxxx"
headers = {"Authorization": "Bearer " + token}
apiurl = "https://api.wmcloud.com/data/v1//api/market/getMktBlockd.json?"
param = {
"beginDate": "",
"endDate": "",
"secID": "",
"ticker": "",
"assetClass": "",
"tradeDate": "20190308",
}
r = requests.get(apiurl, params=param, headers=headers)
dataresult = json.loads(r.text)
print(dataresult)
但是如果我想使用此功能打印,字符将再次被编码。
print(json.dumps(dataresult, indent=2))
输出就像
"buyerBD": "\u534e\u6cf0\u8bc1\u5238\u80a1\u4efd\u6709\u9650\u516c\u53f8\u6dee\u5b89\u5206\u516c\u53f8",
我的代码开头有以下命令:
# -*- coding: utf-8 -*-
为什么两个函数输出不同的结果,如何解决?
非常感谢。
答案 0 :(得分:0)
在ensure_ascii
中关闭json.dumps
:
import json
x = {"\u534e": "\u6cf0"}
print(json.dumps(x, indent=2, ensure_ascii=False))
输出
{
"华": "泰"
}