Read JSON file using Python

 

The full-form of JSON is JavaScript Object Notation. It means that a script (executable) file which is made of text in a programming language, is used to store and transfer the data. Python supports JSON through a built-in package called json. To use this feature, we import the json package in Python script. The text in JSON is done through quoted string which contains the value in key-value mapping within { }.

Reading From JSON

It’s pretty easy to load a JSON object in Python. Python has a built-in package called json, which can be used to work with JSON data. It’s done by using the json module, which provides us with a lot of methods which among loads() and load() methods are gonna help us to read the JSON file.

Deserialization of JSON

The Deserialization of JSON means the conversion of JSON objects into their respective Python objects. The load()/loads() method is used for it. If you have used JSON data from another program or obtained as a string format of JSON, then it can easily be deserialized with load()/loads(), which is usually used to load from string, otherwise the root object is in list or dict. See the following table given below.

JSON OBJECT PYTHON OBJECT
object dict
array list
string str
null None
number (int) int
number (real) float
true True
false False

 

  • json.load(): json.load() accepts file object, parses the JSON data, populates a Python dictionary with the data and returns it back to you.
    Syntax:
json.load(file object)
  • Example: Suppose the JSON file looks like this:

python-json

  • We want to read the content of this file. Below is the implementation.

Python3

 

 

 

# Python program to read
# json file
import json
# Opening JSON file
f = open('data.json',)
# returns JSON object as
# a dictionary
data = json.load(f)
# Iterating through the json
# list
for i in data['emp_details']:
    print(i)
# Closing file
f.close()
  • Output:

python-read-json-output

  • json.loads(): If you have a JSON string, you can parse it by using the json.loads() method.json.loads() does not take the file path, but the file contents as a string, using fileobject.read() with json.loads() we can return the content of the file.
    Syntax:
json.loads(jsonstring) #for Json string

json.loads(fileobject.read()) #for fileobject
  • Example: This example shows reading from both string and JSON file. The file shown above is used.

Python3

 

 

 

# Python program to read
# json file
import json
# JSON string
a = '{"name": "Bob", "languages": "English"}'
# deserializes into dict
# and returns dict.
y = json.loads(a)
print("JSON string = ", y)
print()
# JSON file
f = open ('data.json', "r")
# Reading from file
data = json.loads(f.read())
# Iterating through the json
# list
for i in data['emp_details']:
    print(i)
# Closing file
f.close()
  • Output:

python-read-json-output

 

Previous post Python String | replace()
Next post Python Dictionary

Leave a Reply

%d bloggers like this: