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

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

Using json.dumps() without spaces in Python

使用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}'

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

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

参数是一个包含 2 个值的separators元组 – 每个键值对之间的分隔符以及每个键和值之间的分隔符。

参数的默认值是(', ', ': ')如果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 字符串该参数None默认设置为。

要从 JSON 字符串中删除所有空格,请将参数设置为或在调用时省略它 indentNone json.dumps()

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

主程序
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