Save Python dict as JSON: Convert Dictionary to JSON

featured Image

In this article, we will learn how to save a dictionary as JSON in python.

While programming we need to work with lots of data. To store such data we use different formats, and one of the formats is the JSON format.

The JSON format is used mostly in all programming languages and it is a very well-structured way to store data in our programs.

In python, we use a similar data structure called the dictionary to store data for our programs.

Let’s understand how we can save the data in a python dictionary as a JSON object in this post.

What is JSON in python?

JSON (JavaScript Object Notation) is an open data-interchange format that is used to store data in a human-readable format.

Since it is a very well-structured format, it is used in many programming languages and it’s easy to exchange data between a web application and a server using JSON.

It stores the data in a key value pair inside curly brackets ({}). It looks exactly same as python dictionary structure with some differences.

Example of JSON format:

{
  "firstName": "John",
  "lastName": "Smith",
  "age": 27,
}

In JSON the key is inside a double quotation mark (" ") but the values can be any data type, for example, string, integers, array, and objects.

Convert Dictionary to JSON in Python

There are different ways to convert a dictionary into a JSON object using python. Let’s check some methods with code examples.

Using dumps() function to save dict as JSON

To save a dictionary as json object we can use the in-built dumps() function in python. We can use the function by importing the in-built json module in our program.

The json module helps to parse JSON strings and files that contain the JSON object.

The json.dumps() function converts a dictionary into a string object.

Example:

import json

my_dict = {
  'firstName': 'Alex',
  'lastName': 'Johns',
  'company': 'Facebook',
  'id': 1234
}
json_obj = json.dumps(my_dict)
print(json_obj)

Output:

{"firstName": "Alex", "lastName": "Johns", "company": "Facebook", "id": 1234}

Here, we have defined a dictionary named my_dict and then used json.dumps() function to convert it into a JSON object.

Convert a nested dictionary into a JSON object

If you have a nested dictionary then it will be hard to read the data if we just convert it to a JSON object. Therefore, to pretty print the data in the dictionary as a JSON object we can use the json.dumps() function and pass the indent option as a parameter.

The indent is a non-negative number that is used to print or display the JSON object element with proper spacing and indentation. It pretty-prints the elements of the JSON object.

Example:

import json

my_dict = {
  'john':{
        'firstName':'John',
        'LastName': 'Wick'
    },
    'tom':{
        'firstName':'Tom',
        'LastName': 'Cruise'
    }
}
json_obj = json.dumps(my_dict, indent= 3)
print(json_obj)

Output:

{
   "john": {
      "firstName": "John",
      "LastName": "Wick"
   },
   "tom": {
      "firstName": "Tom",
      "LastName": "Cruise"
   }
}

Here, indent=3 means the spaces we want at the beginning of each object element.

Convert dict to JSON using sort_keys

Let’s say we want to save the python dictionary as a JSON object and sort the key in order. To do that we can use the dumps() and pass on the sort_keys parameter.

The sort_keys takes a boolean value, and if it is set to True, it sorts json dump by its keys.

Example:

import json

my_dict = {
    'name':'John',    
    'adddress':'New York',
    'bio': 'Engineer'
}
json_obj = json.dumps(my_dict, sort_keys=True)
print(json_obj)

Output:

{"adddress": "New York", "bio": "Engineer", "name": "John"}

As you can see, the sort_keys sorts the keys of the dictionary and convert it into a json object.

Convert Python dictionary to JSON File

Let’s say we have a python dictionary with some data in it. And we want to convert it to a JSON object and save it in a new json file.

So to achieve that we have to use both json.dumps() function and the file.write() function in our python program.

Example:

import json

my_dict = {
    'name':'John',    
    'adddress':'New York',
    'bio': 'Engineer'
}
json_obj = json.dumps(my_dict)

json_file =  open("data.json", "w")
json_file.write(json_obj)
json_file.close()

When we run this program, it will create a data.json file with the converted json object in it.

In the data.json file:

{"name": "John", "adddress": "New York", "bio": "Engineer"}

Here, in the above example, we have converted the dict into a JSON object using json.dumps() function.

Next, we have created a file name data.json using open(filename, 'w') function and wrote the JSON content into it using the file.write() function.

In the end, we close the file using close() function.

Conclusion:

In this article, we have learned ways to convert a python dictionary into a JSON object using the dumps() function and also learned how to sort the keys while converting, and also how to save dictionary data as JSON in a new json file.


Other Articles You’ll Also Like:

Merge multiple JSON objects into one single object in Python

Related Posts

merge json files in python

How to merge JSON files in python

JSON (JavaScript Object Notation) is a data format used for storing, transferring, and visualizing data. Its simple structure of key:value pairs and array data types makes JSON an easy and…

Read more
Install python pip in ubuntu

How to Install Pip(pip3) in Ubuntu Linux 22.04

Pip is a package manager for Python that allows you to install and manage additional Python packages that are not part of the Python standard library. Pip makes it easy…

Read more
featured Image

How to Write If-Else Statements in One Line in Python

If-else statements are a fundamental concept in Python and other programming languages. They allow you to execute different blocks of code based on whether a condition is true or false….

Read more

Leave a Reply

Your email address will not be published. Required fields are marked *