You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中将JSON转换为带双引号的字典?

问题本质说明

你看到的单引号、双引号差异只是Python字典对象的默认输出格式和JSON标准格式的展示差异,数据本身没有错误:

  • Python原生dict在打印/输出时,默认用单引号包裹字符串类型的键和值
  • 符合JSON标准的格式要求必须用双引号包裹字符串

实现方案

场景1:需要输出/保存为符合JSON标准的带双引号内容

你代码里的j2 = json.dumps(j1)已经是你要的带双引号的字符串结果,直接使用j2即可。如果需要格式化缩进输出,可以加参数调整:

import json

# 建议用with语句自动管理文件句柄,无需手动close
with open("你的文件路径", "r", encoding="utf-8") as f:
    j1 = json.load(f)

# indent设置缩进空格数,ensure_ascii=False避免中文乱码
json_str = json.dumps(j1, indent=4, ensure_ascii=False)
print(json_str)

# 如果要保存到文件,也可以直接用json.dump一步完成
with open("输出路径.json", "w", encoding="utf-8") as f:
    json.dump(j1, f, indent=4, ensure_ascii=False)

输出结果就是你需要的双引号格式:

{
    "company": [
        {
            "name": "My company",
            "security": "WPA2-PSK"
        }
    ],
    "name": "one name"
}

场景2:仅需要Python打印字典时显示双引号

如果你只是希望在Python交互环境/日志里打印字典时显示双引号,直接把字典用json.dumps包裹后打印即可,不需要修改字典本身的内容:

j3 = json.loads(json_str)
print(json.dumps(j3, indent=4))

注意事项

如果你的代码后续还需要对数据做增删改查操作,直接使用json.load得到的Python字典对象即可,单双引号的展示差异完全不会影响字典的正常使用,只有当你需要输出JSON格式的文本给外部系统/文件时,才需要调用json.dumps做序列化。


内容的提问来源于stack exchange,提问作者Beto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 16:15:05