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.
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:
We want to read the content of this file. Below is the implementation.
Python3
import
json
f
=
open
[
'data.json'
]
data
=
json.load[f]
for
i
in
data[
'emp_details'
]:
print
[i]
f.close[]
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
import
json
a
=
'{"name": "Bob", "languages": "English"}'
y
=
json.loads[a]
print
[
"JSON string = "
, y]
print
[]
f
=
open
[
'data.json'
,
"r"
]
data
=
json.loads[f.read[]]
for
i
in
data[
'emp_details'
]:
print
[i]
f.close[]
Output: