Python 字典转 JSON 保留字符串双引号并格式化
Python 字典转 JSON 保留字符串双引号并格式化
在使用 Python 的 json.dumps 函数将字典转换为 JSON 字符串时,默认情况下会将字符串中的双引号转换为单引号。如果需要保留字符串中的双引号,可以使用参数 ensure_ascii=False 来保留字符串中的双引号,并使用参数 indent 来格式化 JSON。最后使用 json.loads 将 JSON 转回字典,再使用 repr 将字典转回字符串并保留字符串引号。
示例代码如下:
import json
# 定义字典
data = {'name': 'John', 'message': 'Hello 'world'!'} # 将双引号改为单引号
# 将字典转为 json 并保留字符串中的双引号,格式化 json
json_str = json.dumps(data, ensure_ascii=False, indent=4)
# 将 json 转回字典
new_data = json.loads(json_str)
# 将字典转回字符串并保留字符串引号
new_json_str = repr(new_data)
print(json_str)
print(new_json_str)
输出结果:
{
"name": "John",
"message": "Hello 'world'!"
}
{'name': 'John', 'message': 'Hello 'world'!'}
说明:
ensure_ascii=False参数用于保留字符串中的双引号。indent=4参数用于格式化 JSON,使其更易读。repr函数用于将字典转回字符串并保留字符串引号。
注意:
- 在使用
repr函数将字典转回字符串时,字符串中的单引号会被转义为'。 - 如果需要在 JSON 字符串中保留字符串的双引号,建议使用
ensure_ascii=False参数。
原文地址: https://www.cveoy.top/t/topic/nCQa 著作权归作者所有。请勿转载和采集!