What’s New ?

The Top 10 favtutor Features You Might Have Overlooked

Read More

5 Ways to Convert Dictionary to JSON in Python

  • Oct 05, 2021
  • 7 Minutes Read
  • Why Trust Us
    We uphold a strict editorial policy that emphasizes factual accuracy, relevance, and impartiality. Our content is crafted by top technical writers with deep knowledge in the fields of computer science and data science, ensuring each piece is meticulously reviewed by a team of seasoned editors to guarantee compliance with the highest standards in educational content creation and publishing.
  • By Shivali Bhadaniya
5 Ways to Convert Dictionary to JSON in Python

 

Most of the programs need data to work. This data is provided to the program while running or built into the program since the beginning. JSON is one of the ways to store this data in an organized and easy-to-handle manner. On the other hand, a python dictionary is one of the data types that can store a sequence of elements simultaneously in a well-formatted manner, just like JSON.

Therefore, in this article, let us understand some of the common methods to convert python Dict to JSON after a brief introduction of JSON and dictionary in python.

What is JSON in Python?

JSON(Javascript Object Notation) is a standard format to transfer the data as a text that can be sent over a network. JSON is a syntax for exchanging and storing data over the network. It uses lots of APIs and databases that are easy for humans and machines to read and understand. Python has an inbuilt package named 'json', which you can use to work with JSON data. To use this feature, you have to import the JSON package in python programming.

Python JSON stores the data in the form of key-value pairs inside curly brackets({}), and hence, it is pretty similar to a python dictionary. But here, the JSON key is a string object with double quotation mark compulsorily. However, the value corresponding to the key could be of any data type, i.e., string, integer, nested JSON, or any other sequence data type similar to an array.

For Example

import json
# some JSON:
a =  '{ "name":"Jack", "age":21, "city":"California"}'
# parse x:
b = json.loads(a)
print(b["city"])

 

Output

California

 

Remember that the JSON exists as a string but not a string from the data context.

What is Dictionary in Python?

Dictionary is one of the data types in python used to store the sequence of data in a single variable. Python dictionary helps store the data values like a map that is not supported by any other data type which holds only a single value as an element. Dictionary is an unordered and changeable collection of data elements stored in the form of key:value pairs inside the curly brackets({}). Here the colon(:) represents the key associated with its respective value.

Dictionary values can be of any data type and allow duplicate values, whereas dictionary keys are unique and immutable.

For Example

sample_dict = {
  "vegetable": "carrot",
  "fruit": "orange",
  "chocolate": "kitkat"
}
print(sample_dict)

 

Output

{'vegetable': 'carrot', 'fruit': 'orange', 'chocolate': 'kitkat'}

 

Remember that dictionary keys are case sensitive; therefore, the same name but different cases of the key will be treated distinctly.

Difference Between Dictionary and JSON

Dictionary

JSON

Keys can be any hashable object

Keys can be only strings

Keys cannot be repeated

Keys can be ordered and repeated

No such default value is set

Keys has a default value of undefined

Values can be accessed by subscript

Values can be accessed by using “.”(dot) or “[]”

Can use a single or double quote for the string object

The double quotation is necessary for the string object

Returns ‘dict’ object type

Return ‘string’ object type

 

Convert Dict to JSON in Python

Below are 5 common methods you can use to convert a dict to JSON in python:

1) Using dumps() function

Python possesses a default module, ‘json,’ with an in-built function named dumps() to convert the dictionary into a JSON object by importing the "json" module. "json" module makes it easy to parse the JSON strings which contain the JSON object. The below example displays the conversion of a python dictionary to a JSON object.

For Example

import json

Fruit_Dict = {
  'name': 'Apple',
  'color': 'Red',
  'quantity': 10,
  'price': 60
}
Fruit_Json = json.dumps(Fruit_Dict)
print(Fruit_Json)

 

Output

{"name": "Apple", "color": "Red", "quantity": 10, "price": 60}

 

2) Converting nested dictionary to JSON

You can create a nested dictionary in the above example by declaring a new dictionary inside the default dictionary. To convert the nested dictionary into a json object, you can use the dumps function itself. Here, we have used indent=3, which refers to the space at the beginning of the code line:

For Example

import json 
dictionary = {
 'fruit':{"Grapes": "10","color": "green"},
 'vegetable':{"chilli": "4","color": "red"},
}
result = json.dumps(dictionary, indent = 3)
print(result) 

 

Output

{
   "fruit": {
      "Grapes": "10",
      "color": "green"
   },
   "vegetable": {
      "chilli": "4",
      "Grapes": "10",
   },
   "vegetable": {
      "chilli": "4",
      "color": "pink"
   }

 

3) Convert dictionary to JSON quotes

You can declare a class and use it for the string representation to convert it into json object. Here, we have declared the class using the __str__(self) method, and the variable 'collect' is declared along with the variable 'result' to assign with the class and convert into the json object.

For Example

import json
class fruits(dict):
    def __str__(self):
        return json.dumps(self)
collect = [['apple','grapes']]
result = fruits(collect)
print(result)

 

Output

{"apple": "grapes"}

 

4) Convert dictionary to JSON array

You can declare an array to check the keys and values of the dictionary and convert it into json object. The for loop stores the value, and the dumps() method stores the dictionary. Check out the below example for a better understanding of the approach.

For Example

import json
dictionary = {'Apple': 3, 'Grapes': 1}
array = [ {'key' : i, 'value' : dictionary[i]} for i in dictionary]
print(json.dumps(array))

 

Output

[{"key": "Apple", "value": 3}, {"key": "Grapes", "value": 1}]

 

5) Convert dictionary to JSON using sort_keys

Using this method, you can use the sort_keys attribute inside the dumps() method and set it to “true” to sort the dictionary and convert it into json object. If you set it to false, the dictionary won’t be sorted to find the json object in python.

For Example

import json 
dictionary ={"Name": "jack", "Branch": "IT", "CGPA": "8.6"} 
result = json.dumps(dictionary, indent = 3, sort_keys = True) 
print(result) 

 

Output

{
   "Branch": "IT",
   "CGPA": "8.6",
   "Name": "jack"
}

 

Conclusion

As discussed above, JSON is a data format, and a dictionary in python is a data structure. If you wish to exchange data for different processes, you should use JSON format to serialize your python dictionary. Therefore, it is essential and recommended to learn all the above methods to convert python dictionaries to a json object and make your programming easy and efficient. To learn more about conversion in python, visit our article “3 Ways to Convert List to Tuple in Python”.

FavTutor - 24x7 Live Coding Help from Expert Tutors!

About The Author
Shivali Bhadaniya
I'm Shivali Bhadaniya, a computer engineer student and technical content writer, very enthusiastic to learn and explore new technologies and looking towards great opportunities. It is amazing for me to share my knowledge through my content to help curious minds.