import json
import pandas as pd
import requests
# Pull down some simple json data
r = requests.get('http://api.zippopotam.us/us/ma/belmont')
# Convert it into a python object
data = r.json()
# View the data
data
{'state abbreviation': 'MA', 'place name': 'Belmont', 'country abbreviation': 'US', 'state': 'Massachusetts', 'places': [{'longitude': '-71.4594', 'latitude': '42.4464', 'place name': 'Belmont', 'post code': '02178'}, {'longitude': '-71.2044', 'latitude': '42.4128', 'place name': 'Belmont', 'post code': '02478'}], 'country': 'United States'}
# One level deep
data['places']
[{'longitude': '-71.4594', 'latitude': '42.4464', 'place name': 'Belmont', 'post code': '02178'}, {'longitude': '-71.2044', 'latitude': '42.4128', 'place name': 'Belmont', 'post code': '02478'}]
# One level deep, second element
data['places'][1]
{'longitude': '-71.2044', 'latitude': '42.4128', 'place name': 'Belmont', 'post code': '02478'}
# One level down, then second item, then it's longitude object
data['places'][1]['longitude']
'-71.2044'
# For each element, i, in data.places,
for i in data['places']:
# print the latitude element and the longitude element
print(i['latitude'], i['longitude'])
42.4464 -71.4594 42.4128 -71.2044
# Create a function that
def extract_latlong(json):
# For each element, i, in data.places,
for i in data['places']:
# print the latitude element and the longitude element
print(i['latitude'], i['longitude'])
# Run the function
extract_latlong(data)
42.4464 -71.4594 42.4128 -71.2044