在 Python 中使用不带空格的 json.dumps()

使用 separators 关键字参数来使用不带空格的 json.dumps() 方法,例如 json_str = json.dumps(employee, separators=(‘,’, ‘:’))。 可以将 separators 参数设置为包含逗号和冒号的元组以删除空格。

import json

employee = {
    'name': 'Alice',
    'age': 30,
    'salary': 100,
}

# 👉️ default separators are (', ', ': ')

# ✅ json string without spaces

json_str = json.dumps(employee, separators=(',', ':'))
print(json_str)  # 👉️ '{"name":"Alice","age":30,"salary":100}'

# -----------------------------------------------

# ✅ json string with spaces only between keys and values
json_str = json.dumps(employee, separators=(',', ': '))
print(json_str)  # ✅ '{"name": "Alice","age": 30,"salary": 100}'

# -----------------------------------------------

# ✅ json string with spaces only between key-value pairs

json_str = json.dumps(employee, separators=(', ', ':'))
print(json_str)  # ✅ '{"name":"Alice", "age":30, "salary":100}'

在 Python 中使用不带空格的 json.dumps()

我们使用 separator 关键字参数在 json.dumps() 方法的输出中不添加额外的空格。

json.dumps 方法将 Python 对象转换为 JSON 格式的字符串。

如果 indent 参数为 None,则参数的默认值为 (‘, ‘, ‘: ‘);如果 indent 设置为任何其他值,则参数的默认值为 (‘,’, ‘: ‘)。

import json

employee = {
    'name': 'Alice',
    'age': 30,
    'salary': 100,
}

# 👇️ default behavior
print(json.dumps(employee)) # 👇️ {"name": "Alice", "age": 30, "salary": 100}
print(len(json.dumps(employee)))  # 👉️ 43

# 👇️ with whitespace removed
json_str = json.dumps(employee, separators=(',', ':'))
print(json_str)  # 👉️ '{"name":"Alice","age":30,"salary":100}'
print(len(json_str))  # 👉️ 38

如果在转换为 JSON 时仍然出现空格,请确保没有为 indent 参数传递值。

import json

employee = {
    'name': 'Alice',
    'age': 30,
    'salary': 100,
}


# {
#     "name":"Alice",
#     "age":30,
#     "salary":100
# }
json_str = json.dumps(employee, indent=4, separators=(',', ':'))

print(len(json_str))  # 👉️ 54

indent 关键字参数漂亮地打印具有指定缩进级别的 JSON 字符串。 该参数默认设置为无。

如果我们只需要在键和值之间添加空格,请将分隔符设置为冒号和空格。

import json

employee = {
    'name': 'Alice',
    'age': 30,
    'salary': 100,
}

json_str = json.dumps(employee, separators=(',', ': '))
print(json_str)  # 👉️ '{"name": "Alice","age": 30,"salary": 100}'

print(len(json_str))  # 👉️ 41

同样,如果我们只需要在键值对之间添加空格,请将分隔符设置为逗号和空格。

import json

employee = {
    'name': 'Alice',
    'age': 30,
    'salary': 100,
}


json_str = json.dumps(employee, separators=(', ', ':'))
print(json_str)  # 👉️ '{"name":"Alice", "age":30, "salary":100}'

print(len(json_str))  # 👉️ 40