Python Parse JSON array
103,454
In your for
loop statement, Each item
in json_array
is a dictionary and the dictionary does not have a key store_details
. So I modified the program a little bit
import json
input_file = open ('stores-small.json')
json_array = json.load(input_file)
store_list = []
for item in json_array:
store_details = {"name":None, "city":None}
store_details['name'] = item['name']
store_details['city'] = item['city']
store_list.append(store_details)
print(store_list)
Related videos on Youtube
Author by
RomeNYRR
Updated on July 09, 2022Comments
-
RomeNYRR almost 2 years
I'm trying to put together a small python script that can parse out array's out of a large data set. I'm looking to pull a few
key:values
from each object so that I can play them back later on in the script. For now I just want to print the results. I've had success doing this with JSON files that only contained objects, but can't seem to get it working for an array. Any tips would be greatly appreciatedHere's my code:
# Load up JSON Function import json # Open our JSON file and load it into python input_file = open ('stores-small.json') json_array = json.load(input_file) # Create a variable that will take JSON and put it into a python dictionary store_details = [ ["name"], ["city"] ] # Learn how to loop better =/ for stores in [item["store_details"] for item in json_array] # Print my results print(store_details)
Here's the sample JSON Data:
[ { "id": 1000, "type": "BigBox", "name": "Mall of America", "address": "340 W Market", "address2": "", "city": "Bloomington", "state": "MN", "zip": "55425", "location": { "lat": 44.85466, "lon": -93.24565 }, "hours": "Mon: 10-9:30; Tue: 10-9:30; Wed: 10-9:30; Thurs: 10-9:30; Fri: 10-9:30; Sat: 10-9:30; Sun: 11-7", "services": [ "Geek Squad Services", "Best Buy Mobile", "Best Buy For Business" ] }, { "id": 1002, "type": "BigBox", "name": "Tempe Marketplace", "address": "1900 E Rio Salado Pkwy", "address2": "", "city": "Tempe", "state": "AZ", "zip": "85281", "location": { "lat": 33.430729, "lon": -111.89966 }, "hours": "Mon: 10-9; Tue: 10-9; Wed: 10-9; Thurs: 10-9; Fri: 10-10; Sat: 10-10; Sun: 10-8", "services": [ "Windows Store", "Geek Squad Services", "Best Buy Mobile", "Best Buy For Business" ]} ]
-
RomeNYRR over 6 yearsThank you @yklsga. Is the store_list variable meant to be an empty array to hold the data that's being parsed out?
-
yash over 6 yearsYes
store_list
initially an empty list, because I thought you want to preserve the order of stores that you have injson_array
. I am adding each individualstore_details
to thestore_list
, so that you can use them later in a particular order -
RomeNYRR over 6 yearsThank you for the explanation; still learning and this helped alot!