The Python json.dumps() function is used to serialize a Python object into a JSON-formatted string.
This function is useful when working with APIs, logging structured data, or converting Python objects to JSON strings for storage or transmission.
SyntaxFollowing is the syntax of the Python json.dumps() function −
json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, indent=None, separators=None, default=None, sort_keys=False)Parameters
This function accepts the following parameters −
This function returns a JSON-formatted string representing the serialized Python object.
Example: Basic json.dumps() UsageIn this example, we use the json.dumps() function to convert a Python dictionary into a JSON string −
import json # Python dictionary data = { "name": "John", "age": 30, "city": "New York" } # Convert dictionary to JSON string json_string = json.dumps(data) print("JSON String:", json_string)
Following is the output obtained −
JSON String: {"name": "John", "age": 30, "city": "New York"}Example: Pretty-Printing JSON
The indent parameter allows us to format JSON output in a more readable way by adding indentation −
import json # Python dictionary data = { "name": "John", "age": 30, "city": "New York" } # Convert dictionary to JSON string with indentation json_string = json.dumps(data, indent=4) print("Pretty JSON String:") print(json_string)
Following is the formatted JSON output −
Pretty JSON String: { "name": "John", "age": 30, "city": "New York" }Example: Sorting Keys in JSON
In this example, we use the sort_keys parameter to sort dictionary keys before converting them to a JSON string −
import json # Python dictionary data = { "city": "New York", "name": "John", "age": 30 } # Convert dictionary to JSON string with sorted keys json_string = json.dumps(data, indent=4, sort_keys=True) print("Sorted JSON String:") print(json_string)
Following is the sorted JSON output −
Sorted JSON String: { "age": 30, "city": "New York", "name": "John" }Example: Handling Non-Serializable Objects
Some objects like datetime are not JSON serializable by default. We can use the default parameter to define custom serialization −
import json import datetime # Python dictionary with a datetime object data = { "name": "John", "timestamp": datetime.datetime.now() } # Custom function to handle datetime serialization def json_datetime_converter(obj): if isinstance(obj, datetime.datetime): return obj.isoformat() # Convert datetime to string raise TypeError("Type not serializable") # Convert dictionary to JSON string with custom function json_string = json.dumps(data, default=json_datetime_converter, indent=4) print("JSON with datetime:") print(json_string)
The result produced is as shown below −
JSON with datetime: { "name": "John", "timestamp": "2025-02-19T12:01:58.127889" }Example: Using Custom Separators
The separators parameter allows us to customize how items are separated in the JSON string −
import json # Python dictionary data = { "name": "John", "age": 30, "city": "New York" } # Convert dictionary to JSON string with custom separators json_string = json.dumps(data, separators=(",", ":")) print("Custom Separator JSON String:", json_string)
Following is the output obtained −
Custom Separator JSON String: {"name":"John","age":30,"city":"New York"}
python_json.htm
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4