Python json.load()按原样读取\u003d
我有一个包含以下内容的Json文件temp.JsonPython json.load()按原样读取\u003d,python,json,unicode-string,Python,Json,Unicode String,我有一个包含以下内容的Json文件temp.Json { "response": { "statusCode": 202, "headers": [ [ "Content-Type", "application/json;charset\u003dutf-8" ] ] } } 现在,当我打印内容时,它会按原样
{
"response": {
"statusCode": 202,
"headers": [
[
"Content-Type",
"application/json;charset\u003dutf-8"
]
]
}
}
现在,当我打印内容时,它会按原样打印
>>> f = open("temp.json")
>>> print(f.read())
{
"response": {
"statusCode": 202,
"headers": [
[
"Content-Type",
"application/json;charset\u003dutf-8"
]
]
}
}
>>> f.close()
但是当我执行json.load()时,所有的“\u003d”代码都在变为它们的值,我们可以在内容类型之前utf-8
它变为=
>>> import json
>>> f = open("temp.json")
>>> print(json.load(f))
{'response': {'statusCode': 202, 'headers': [['Content-Type', 'application/json;charset=utf-8']]}}
>>> f.close()
是否有任何标志或任何其他方式加载它们
python版本3.9.0,即“它是什么”\u003d
是JSON中表示文字字符=
的一种方式。如果您不想将JSON解析为JSON,您必须实现自己的(反)解析器。谢谢您的回答,在将JSON转储到文件时,有没有办法像以前一样转换这些字符?什么是“像以前一样覆盖”意思?将=
更改为\u003d
,而不是直接更改为\u003d
,但是关于如何使用自定义编码器编写自己的派生类的提示。您所说的“按原样加载”是什么意思?JSON是数据的表示法,在这种表示法中,\u003d
表示=
,就像{}
表示dict
一样。要么不解析JSON,即f.read()
,要么解析JSON,即JSON.load(f)
。您希望“加载”JSON“\u003d=“
”的结果是什么?您想要“\u003d=“
”、“==”
、还是“\u003d\u003d”
?我在这里尝试的是,加载文件,使用regex更新特定密钥的值,然后将内容转储回同一文件。执行此操作后,文件中的所有\u003d
将更改为=
。我不想更改文件中的任何其他内容,除了给定密钥的值。这是一项技术要求(例如,输出的某些接收器会阻塞)还是个人偏好?就JSON而言,=
和\u003d
是等价和可交换的。这是个人偏好,使用这些文件的java应用程序在更改后可以正常工作,正如您所说的。