The Python json.dump() function is used to serialize a Python object into a JSON formatted string and write it to a file.
This function is useful when storing data in JSON format, such as saving configurations, logging structured data, or exporting information.
SyntaxFollowing is the syntax of the Python json.dump() function −
json.dump(obj, fp, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, indent=None, separators=None, default=None, sort_keys=False, ensure_ascii=True)Parameters
This function accepts the following parameters −
This function does not return a value. It writes the serialized JSON data directly to the provided file.
Example: Basic Usage of json.dump()In this example, we use the json.dump() function to serialize a Python dictionary and write it to a JSON file −
import json # Python dictionary data = { "name": "John", "age": 30, "city": "New York" } # Open the file for writing with open('output.json', 'w') as file: # Serialize dictionary into JSON and write to file json.dump(data, file)
Following is the content written to output.json file −
{"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" } # Open the file for writing with open('pretty_output.json', 'w') as file: # Serialize dictionary into JSON with indentation json.dump(data, file, indent=4)
Following is the formatted content written to pretty_output.json file −
{ "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 writing to the JSON file −
import json # Python dictionary data = { "city": "New York", "name": "John", "age": 30 } # Open the file for writing with open('sorted_output.json', 'w') as file: # Serialize dictionary into JSON with sorted keys json.dump(data, file, indent=4, sort_keys=True)
Following is the sorted content written to sorted_output.json file −
{ "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") # Open the file for writing with open('datetime_output.json', 'w') as file: # Serialize dictionary into JSON with custom function json.dump(data, file, default=json_datetime_converter, indent=4)
Following is the content written to datetime_output.json file −
{ "name": "John", "timestamp": "2025-02-19T11:52:13.182844" }
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