w3resource

Comprehensive Guide to Python json.dump with Examples


Python json.dump()

Python provides the json module to work with JSON data. The json.dump() function is used to serialize Python objects into JSON format and directly write them into a file. This is particularly useful when you need to store structured data, such as configurations or logs, in a file for later use.


Syntax of json.dump()

json.dump(obj, fp, *, skipkeys=False, ensure_ascii=True, 
          check_circular=True, allow_nan=True, cls=None, 
          indent=None, separators=None, default=None, sort_keys=False)

Explanation:

  • obj: The Python object to be serialized (e.g., dictionary or list).
  • fp: A file-like object where the serialized JSON data will be written.
  • indent: Specifies the number of spaces for indentation. Helps in pretty-printing.
  • sort_keys: If True, the output will be sorted by keys.
  • Other optional parameters control how the JSON is formatted and handled.

Example of Valid JSON:

{
    "name": "Zara Sara",
    "age": 30,
    "skills": ["Python", "JavaScript", "SQL"],
    "isEmployed": true
}

Example: Using json.dump() to write JSON to a file

Python Code:

# Import the json module
import json

# Define a Python dictionary
data = {
    "name": "Jatau",
    "age": 25,
    "skills": ["Python", "Machine Learning", "Data Analysis"],
    "isEmployed": True
}

# Open a file in write mode to save the JSON data
with open("output.json", "w") as file:
    # Serialize the Python dictionary and write it to the file
    json.dump(data, file, indent=4, sort_keys=True)  # Indent for pretty-print, sort keys

Code Explanation:

    1. Importing the JSON Module:

    • The json module provides functions for working with JSON data.

    2. Defining a Python Dictionary:

    • The data dictionary contains different data types, including strings, numbers, lists, and booleans.

    3. Opening a File in Write Mode:

    • The open() function is used to open a file (output.json) in write mode ("w").

    4. Writing JSON Data with json.dump():

    • json.dump() converts the Python dictionary to a JSON string and writes it to the file.
    • indent=4 specifies that the output should be indented by 4 spaces, making it more readable.
    • sort_keys=True ensures that the keys in the JSON output are sorted alphabetically.

Output in output.json

{
    "age": 25,
    "isEmployed": true,
    "name": "Jatau",
    "skills": [
        "Python",
        "Machine Learning",
        "Data Analysis"
    ]
} 

Additional Notes

    1. Error Handling:

    • Always handle errors while working with files:
    • try:
          with open("output.json", "w") as file:
              json.dump(data, file)
      except IOError as e:
          print("An error occurred while writing to the file:", e)
      	

    2. Use Cases of json.dump():

    • Storing configuration files.
    • Exporting structured data from applications.
    • Logging application data in JSON format.

    3. Differences between json.dump() and json.dumps():

    • json.dump(): Writes JSON data directly to a file.
    • json.dumps(): Returns the JSON string representation of a Python object.

Practical Guides to JSON Snippets and Examples.



Follow us on Facebook and Twitter for latest update.