
- Python - Home
- Python - Overview
- Python - History
- Python - Features
- Python vs C++
- Python - Hello World Program
- Python - Application Areas
- Python - Interpreter
- Python - Environment Setup
- Python - Virtual Environment
- Python - Basic Syntax
- Python - Variables
- Python - Data Types
- Python - Type Casting
- Python - Unicode System
- Python - Literals
- Python - Operators
- Python - Arithmetic Operators
- Python - Comparison Operators
- Python - Assignment Operators
- Python - Logical Operators
- Python - Bitwise Operators
- Python - Membership Operators
- Python - Identity Operators
- Python - Operator Precedence
- Python - Comments
- Python - User Input
- Python - Numbers
- Python - Booleans
- Python - Control Flow
- Python - Decision Making
- Python - If Statement
- Python - If else
- Python - Nested If
- Python - Match-Case Statement
- Python - Loops
- Python - for Loops
- Python - for-else Loops
- Python - While Loops
- Python - break Statement
- Python - continue Statement
- Python - pass Statement
- Python - Nested Loops
- Python Functions & Modules
- Python - Functions
- Python - Default Arguments
- Python - Keyword Arguments
- Python - Keyword-Only Arguments
- Python - Positional Arguments
- Python - Positional-Only Arguments
- Python - Arbitrary Arguments
- Python - Variables Scope
- Python - Function Annotations
- Python - Modules
- Python - Built in Functions
- Python Strings
- Python - Strings
- Python - Slicing Strings
- Python - Modify Strings
- Python - String Concatenation
- Python - String Formatting
- Python - Escape Characters
- Python - String Methods
- Python - String Exercises
- Python Lists
- Python - Lists
- Python - Access List Items
- Python - Change List Items
- Python - Add List Items
- Python - Remove List Items
- Python - Loop Lists
- Python - List Comprehension
- Python - Sort Lists
- Python - Copy Lists
- Python - Join Lists
- Python - List Methods
- Python - List Exercises
- Python Tuples
- Python - Tuples
- Python - Access Tuple Items
- Python - Update Tuples
- Python - Unpack Tuples
- Python - Loop Tuples
- Python - Join Tuples
- Python - Tuple Methods
- Python - Tuple Exercises
- Python Sets
- Python - Sets
- Python - Access Set Items
- Python - Add Set Items
- Python - Remove Set Items
- Python - Loop Sets
- Python - Join Sets
- Python - Copy Sets
- Python - Set Operators
- Python - Set Methods
- Python - Set Exercises
- Python Dictionaries
- Python - Dictionaries
- Python - Access Dictionary Items
- Python - Change Dictionary Items
- Python - Add Dictionary Items
- Python - Remove Dictionary Items
- Python - Dictionary View Objects
- Python - Loop Dictionaries
- Python - Copy Dictionaries
- Python - Nested Dictionaries
- Python - Dictionary Methods
- Python - Dictionary Exercises
- Python Arrays
- Python - Arrays
- Python - Access Array Items
- Python - Add Array Items
- Python - Remove Array Items
- Python - Loop Arrays
- Python - Copy Arrays
- Python - Reverse Arrays
- Python - Sort Arrays
- Python - Join Arrays
- Python - Array Methods
- Python - Array Exercises
- Python File Handling
- Python - File Handling
- Python - Write to File
- Python - Read Files
- Python - Renaming and Deleting Files
- Python - Directories
- Python - File Methods
- Python - OS File/Directory Methods
- Python - OS Path Methods
- Object Oriented Programming
- Python - OOPs Concepts
- Python - Classes & Objects
- Python - Class Attributes
- Python - Class Methods
- Python - Static Methods
- Python - Constructors
- Python - Access Modifiers
- Python - Inheritance
- Python - Polymorphism
- Python - Method Overriding
- Python - Method Overloading
- Python - Dynamic Binding
- Python - Dynamic Typing
- Python - Abstraction
- Python - Encapsulation
- Python - Interfaces
- Python - Packages
- Python - Inner Classes
- Python - Anonymous Class and Objects
- Python - Singleton Class
- Python - Wrapper Classes
- Python - Enums
- Python - Reflection
- Python Errors & Exceptions
- Python - Syntax Errors
- Python - Exceptions
- Python - try-except Block
- Python - try-finally Block
- Python - Raising Exceptions
- Python - Exception Chaining
- Python - Nested try Block
- Python - User-defined Exception
- Python - Logging
- Python - Assertions
- Python - Built-in Exceptions
- Python Multithreading
- Python - Multithreading
- Python - Thread Life Cycle
- Python - Creating a Thread
- Python - Starting a Thread
- Python - Joining Threads
- Python - Naming Thread
- Python - Thread Scheduling
- Python - Thread Pools
- Python - Main Thread
- Python - Thread Priority
- Python - Daemon Threads
- Python - Synchronizing Threads
- Python Synchronization
- Python - Inter-thread Communication
- Python - Thread Deadlock
- Python - Interrupting a Thread
- Python Networking
- Python - Networking
- Python - Socket Programming
- Python - URL Processing
- Python - Generics
- Python Libraries
- NumPy Tutorial
- Pandas Tutorial
- SciPy Tutorial
- Matplotlib Tutorial
- Django Tutorial
- OpenCV Tutorial
- Python Miscellenous
- Python - Date & Time
- Python - Maths
- Python - Iterators
- Python - Generators
- Python - Closures
- Python - Decorators
- Python - Recursion
- Python - Reg Expressions
- Python - PIP
- Python - Database Access
- Python - Weak References
- Python - Serialization
- Python - Templating
- Python - Output Formatting
- Python - Performance Measurement
- Python - Data Compression
- Python - CGI Programming
- Python - XML Processing
- Python - GUI Programming
- Python - Command-Line Arguments
- Python - Docstrings
- Python - JSON
- Python - Sending Email
- Python - Further Extensions
- Python - Tools/Utilities
- Python - GUIs
- Python Advanced Concepts
- Python - Abstract Base Classes
- Python - Custom Exceptions
- Python - Higher Order Functions
- Python - Object Internals
- Python - Memory Management
- Python - Metaclasses
- Python - Metaprogramming with Metaclasses
- Python - Mocking and Stubbing
- Python - Monkey Patching
- Python - Signal Handling
- Python - Type Hints
- Python - Automation Tutorial
- Python - Humanize Package
- Python - Context Managers
- Python - Coroutines
- Python - Descriptors
- Python - Diagnosing and Fixing Memory Leaks
- Python - Immutable Data Structures
- Python Useful Resources
- Python - Questions & Answers
- Python - Interview Questions & Answers
- Python - Online Quiz
- Python - Quick Guide
- Python - Reference
- Python - Cheatsheet
- Python - Projects
- Python - Useful Resources
- Python - Discussion
- Python Compiler
- NumPy Compiler
- Matplotlib Compiler
- SciPy Compiler
Python json.dumps() Function
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.
Syntax
Following 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 −
- obj: The Python object to be serialized into JSON. This can be a dictionary, list, string, etc.
- skipkeys (optional): If True, it allows non-string keys in dictionaries. Default is False, meaning it will raise a TypeError for non-string dictionary keys.
- ensure_ascii (optional): If True (default), all non-ASCII characters are escaped in the output.
- check_circular (optional): If True (default), it checks for circular references in the object. Set to False to skip the check.
- allow_nan (optional): If True (default), NaN and Infinity values will be serialized as 'NaN' and 'Infinity'.
- indent (optional): If specified, it pretty-prints the JSON data with the specified number of spaces for indentation. Default is None (no indentation).
- separators (optional): A tuple (item_separator, key_separator) that controls the formatting of the output. Defaults to (', ', ': ').
- default (optional): A function that is called for objects that are not serializable by default. It can be used to serialize custom objects.
- sort_keys (optional): If True, the output JSON will have the dictionary keys sorted. Default is False.
Return Value
This function returns a JSON-formatted string representing the serialized Python object.
Example: Basic json.dumps() Usage
In 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"}