Loop through a JSON array in Python
In this tutorial, I will write a simple program to show you how to loop through a JSON array in Python.
In order to do that, what we need is a sample JSON array. We will loop through that JSON array and print the data.
[ { "language": "Java", "duration": 30, "author": "saruque", "site": "codespeedy" }, { "language": "Swift", "duration": 50, "author": "faruque", "site": "swiftspeedy" }, { "language": "Python", "duration": 50, "author": "Parvez", "site": "codespeedy" } ]
We are taking this sample JSON for our example.
We have some keys and values in this JSON array.
The module we need to import is json
.
Python program to loop through a JSON array
import json myJSON_array = [ { "language": "Java", "duration": 30, "author": "saruque", "site": "codespeedy" }, { "language": "Swift", "duration": 50, "author": "faruque", "site": "swiftspeedy" }, { "language": "Python", "duration": 50, "author": "Parvez", "site": "codespeedy" } ] for data in myJSON_array: print("language:", data["language"]) print("duration:", data["duration"]) print("author:", data["author"]) print("site:", data["site"])
Output:
language: Java duration: 30 author: saruque site: codespeedy language: Swift duration: 50 author: faruque site: swiftspeedy language: Python duration: 50 author: Parvez site: codespeedy
If you want a separator after iterating each loop you can use print("---")
at the end of the loop. Something like this will help you to read where your data ends in a single iteration.
for data in myJSON_array: print("language:", data["language"]) print("duration:", data["duration"]) print("author:", data["author"]) print("site:", data["site"]) print("---")
Loop through a JSON array from a separate file
Now let’s assume that the same JSON array is stored in a separate file sample_json.json
. The file type is .json
.
You can simply put the file path in the first argument of with open()
.
So how to iterate through a JSON file?
import json with open('sample_json.json', 'r') as json_file: myJSON_array = json.load(json_file) for data in myJSON_array: print("language:", data["language"]) print("duration:", data["duration"]) print("author:", data["author"]) print("site:", data["site"]) print("---")
The output will be the same.
Leave a Reply