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

Python:移除字典键值间空格及JSON读写格式优化问题

解决Python JSON序列化后键值间出现空格的问题

这个问题我之前也碰到过!其实你误会了一点:json.loads()把JSON字符串转成字典对象后,字典本身根本不存在键值间的空格——那些空格是后续把字典序列化回JSON格式时,Python的json模块默认添加的格式化内容。要生成和原始文件一样的无空格紧凑JSON,只需要在序列化时调整参数就行。

核心解决方案

使用json.dump()或json.dumps()时,指定separators=(',', ':')参数,替换默认的带空格分隔符(默认是(', ', ': '))。

完整代码示例

import json

# 读取原始无空格的JSON文件
with open("input.json", "r", encoding="utf-8") as input_file:
    raw_json = input_file.read()

# 解析为字典并进行你的数据处理
data_dict = json.loads(raw_json)
# 这里写你的转换处理逻辑,比如修改字段值
data_dict["content"]["name"] = "updated name test"

# 写入无空格的紧凑JSON到输出文件
with open("output.json", "w", encoding="utf-8") as output_file:
    # 关键就是这个separators参数,去掉了分隔符后的空格
    json.dump(data_dict, output_file, separators=(',', ':'))

原理说明

  • json模块默认会为了可读性添加空格,但我们不需要格式化时,就可以手动指定分隔符:
    • 第一个元素',':表示键值对之间用逗号分隔,不带空格
    • 第二个元素':':表示键和值之间用冒号分隔,不带空格
  • 这样生成的JSON就和你原始文件的格式完全一致,没有任何多余空白字符,保证文件体积最小。

如果是要生成JSON字符串而不是直接写入文件,用json.dumps()同样生效:

compact_json_str = json.dumps(data_dict, separators=(',', ':'))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:08:44