Python 3.x 如何在JSON中编码西里尔字符

Python 3.x 如何在JSON中编码西里尔字符,python-3.x,unicode,utf-8,Python 3.x,Unicode,Utf 8,我想读取一个包含西里尔字母符号的JSON文件 西里尔字母符号表示为\u123 Python将它们转换为“\\u123”,而不是西里尔字母符号 例如,字符串“\u0420\u0435\u0433\u0438\u043e\u043d”应该变成“(*.code>”,但变成“\\u0420\\u0435\\u0433\\u0438\\u043e\\u043d” encode() 如何将“\u0420\u0435\u0433\u0438\u043e\u043d”转换为“ПцПццц”?只需使用json模块

我想读取一个包含西里尔字母符号的JSON文件

西里尔字母符号表示为
\u123

Python将它们转换为
“\\u123”
,而不是西里尔字母符号

例如,字符串
“\u0420\u0435\u0433\u0438\u043e\u043d”
应该变成
“(*.code>”,但变成
“\\u0420\\u0435\\u0433\\u0438\\u043e\\u043d”

encode()


如何将
“\u0420\u0435\u0433\u0438\u043e\u043d”
转换为
“ПцПццц”

只需使用
json
模块即可

import json

s = "\u0420\u0435\u0433\u0438\u043e\u043d"

# Generate a json file.
with open('test.json','w',encoding='ascii') as f:
    json.dump(s,f)

# Reading it directly
with open('test.json') as f:
    print(f.read())

# Reading with the json module
with open('test.json',encoding='ascii') as f:
    data = json.load(f)
print(data)
输出:

"\u0420\u0435\u0433\u0438\u043e\u043d"
Регион

只需使用
json
模块即可

import json

s = "\u0420\u0435\u0433\u0438\u043e\u043d"

# Generate a json file.
with open('test.json','w',encoding='ascii') as f:
    json.dump(s,f)

# Reading it directly
with open('test.json') as f:
    print(f.read())

# Reading with the json module
with open('test.json',encoding='ascii') as f:
    data = json.load(f)
print(data)
输出:

"\u0420\u0435\u0433\u0438\u043e\u043d"
Регион

如果希望
json
输出包含非ASCII字符的字符串,则需要传递
确保ASCII=False
,然后手动编码。

如果希望
json
输出包含非ASCII字符的字符串,则需要传递
确保ASCII=False
,然后手动编码之后。

你能澄清一下吗?这些文件是正确的JSON.JSON str:
“\u0420\u0435\u0433\u0438\u043e\u043d”
;所需:
“ПцПцц”
;在反序列化JSON后获取:
“\\u0420\\u0435\\u0433\\u0438\\u043e\\u043d”
?您能澄清一下吗?这些文件是正确的JSON.JSON str:
“\u0420\u0435\u0433\u0438\u043e\u043d”
;所需:
“ПцПцц”
;在反序列化JSON后获取:
“\\u0420\\u0435\\u0433\\u0438\\u043e\\u043d”