Python JSON Example

Hello in this tutorial, we will understand how to parse, read, and write JSON in python programming.

1. Introduction

JSON stands for Javascript Object Notation and is a popular format to represent structured data. It is the most popular exchange of data format between the application running on the server and the client. In python, JSON exists as a string such as –

person_data = '{"id":1,"first_name":"Marci","last_name":"Larmet","email":"mlarmet0@topsy.com","gender":"Genderfluid"}'

In python programming, we import the inbuilt json module to work with. This module makes it easy to parse the JSON strings and files containing the JSON data.

1.2 Setting up Python

If someone needs to go through the Python installation on Windows, please watch this link. You can download the Python from this link.

2. Python JSON Example

I am using JetBrains PyCharm as my preferred IDE. You are free to choose the IDE of your choice. Let us dive in with the programming stuff now.

2.1 Python dict to JSON string

Let us understand this in python programming. We will use:

Python dict to JSON string

# python json tutorial
import json
person_dict = {
    "id": 2,
    "first_name": "Ivett",
    "last_name": "Oldall",
    "email": "ioldall1@paypal.com",
    "gender": "Male",
    "phone": "860-554-1988"
}
# converting to json string
# printing json data in pretty print
data_json = json.dumps(person_dict, indent=2)
print(data_json)

If everything goes well the following output will be shown in the IDE console.

Console output

{
  "id": 2,
  "first_name": "Ivett",
  "last_name": "Oldall",
  "email": "ioldall1@paypal.com",
  "gender": "Male",
  "phone": "860-554-1988"
}

2.2 Write JSON data to file

Let us understand this in python programming.

Write JSON data to file

# python json tutorial
import json
# file params
file_path = 'config'
file_name = 'emp.json'
data_dict = {
    "person": [
        {"id": 1, "first_name": "Iorgos", "last_name": "McPaike", "email": "imcpaike0@issuu.com",
         "gender": "Genderqueer", "phone": "584-868-2320"},
        {"id": 2, "first_name": "Vinnie", "last_name": "De Gogay", "email": "vdegogay1@utexas.edu",
         "gender": "Agender", "phone": "897-932-4821"},
        {"id": 3, "first_name": "Marcille", "last_name": "Pitkaithly", "email": "mpitkaithly2@cbslocal.com",
         "gender": "Genderqueer", "phone": "139-842-9277"},
        {"id": 4, "first_name": "Bob", "last_name": "Woltering", "email": "bwoltering3@mediafire.com",
         "gender": "Genderfluid", "phone": "593-291-4767"},
        {"id": 5, "first_name": "Ginni", "last_name": "Circuit", "email": "gcircuit4@quantcast.com",
         "gender": "Genderfluid", "phone": "704-200-9520"}
    ]
}
def write_json(destination):
    # if the file doesn't already exist, it will be created
    with open(destination, 'w') as json_file:
        json.dump(data_dict, json_file)
    print('Successfully written to {}'.format(file_name))
if __name__ == '__main__':
    write_json(file_path + '/' + file_name)

If everything goes well the following output will be shown in the IDE console and the file emp.json containing the JSON format data will be created at the given location.

Console output

Successfully written to emp.json

2.3 Read JSON data from file

Let us understand this in python programming.

Read JSON data from file

# python json tutorial
import json
import pathlib
# file params
file_path = 'config'
file_name = 'data.json'
def read_json(destination):
    # checking is file exists at the given destination or not
    if pathlib.Path(destination).exists():
        with open(destination, 'r') as f:
            data = json.load(f)
        if not data['person']:
            print('No data!')
        else:
            print('Data from json file')
            print('--------------------------')
            # printing json data in pretty print
            # print(json.dumps(data, indent=2))
            for rows in data['person']:
                full_name = rows['first_name'] + ' ' + rows['last_name']
                print('Id = {}, Full name = {}, Email = {}, Gender = {}'.format(
                    rows['id'], full_name, rows['email'], rows['gender']
                ))
    else:
        print('File not exist!')
if __name__ == '__main__':
    read_json(file_path + '/' + file_name)

If everything goes well the following output will be shown in the IDE console.

Console output

Data from json file
--------------------------
Id = 1, Full name = Marci Larmet, Email = mlarmet0@topsy.com, Gender = Genderfluid
Id = 2, Full name = Nowell Malatalant, Email = nmalatalant1@eventbrite.com, Gender = Male
Id = 3, Full name = Napoleon Copo, Email = ncopo2@com.com, Gender = Bigender
Id = 4, Full name = Humfrey Romand, Email = hromand3@mail.ru, Gender = Male
Id = 5, Full name = Maynord Herculson, Email = mherculson4@etsy.com, Gender = Bigender

That is all for this tutorial and I hope the article served you with whatever you were looking for. Happy Learning and do not forget to share!

3. Summary

In this tutorial, we learned:

You can download the source code of this tutorial from the Downloads section.

5. Download the Project

This was a tutorial to understand the JSON implement in python.

Download
You can download the full source code of this example here: Python JSON Example

Last updated on Feb. 24th, 2022

Exit mobile version