如何保持UTF-8解码一致

时间:2019-03-11 08:46:48

标签: python json

我正在从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 -*-

为什么两个函数输出不同的结果,如何解决?

非常感谢。

1 个答案:

答案 0 :(得分:0)

ensure_ascii中关闭json.dumps

import json

x = {"\u534e": "\u6cf0"}
print(json.dumps(x, indent=2, ensure_ascii=False))

输出

{
  "华": "泰"
}
相关问题