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 参数。
Python 字典转 JSON 保留字符串双引号并格式化

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

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