在 Python 中使用 json.dumps 函数将字典转换为 JSON 字符串时,有时会遇到字符串中的双引号被转义成 \' 的情况。例如,以下代码:

import json

d = {'name': 'John', 'age': 25, 'description': 'He said, 'I am happy.''}  
json_str = json.dumps(d)
print(json_str)

输出结果为:

{'name': 'John', 'age': 25, 'description': 'He said, \'I am happy.\''}

可以看到,description 中的双引号被转义成了 \'

为了保留字符串中的双引号,可以在调用 json.dumps() 函数时,指定参数 ensure_ascii=False,这样就可以保留字典字符串的双引号。

例如:

import json

d = {'name': 'John', 'age': 25, 'description': 'He said, 'I am happy.''}  
json_str = json.dumps(d, ensure_ascii=False)
print(json_str)

输出结果为:

{'name': 'John', 'age': 25, 'description': 'He said, 'I am happy.''}

现在 description 中的双引号被保留了下来。

注意: ensure_ascii=False 会导致输出的 JSON 字符串中包含非 ASCII 字符,如果您的 JSON 字符串需要在 ASCII 环境中使用,请不要使用该参数。

Python 使用 json.dumps 将字典转 JSON 时如何保留字符串中的双引号

原文地址: https://www.cveoy.top/t/topic/nCP4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录