Как разбирать JSON в Python

Как мы разбираем JSON в Python. Сначала мы загружаем файл JSON с помощью метода json.load (). В результате получился словарь Python. Затем мы можем получить доступ к полям, используя методы словаря.

JSON - это облегченный формат обмена данными.

Чтобы извлечь информацию из файла JSON или ответа JSON, мы должны проанализировать данные.




Разбираем JSON в Python

В нашем примере мы будем использовать следующий JSON:

{ 'store':{
'book':[

{

'category':'reference',

'author':'Nigel Rees',

'title':'Sayings of the Century',

'price':8.95

},

{

'category':'fiction',

'author':'Evelyn Waugh',

'title':'Sword of Honour',

'price':12.99

}
],
'bicycle':{

'color':'red',

'price':19.95
} }, 'expensive':10 }

Первый шаг - загрузить файл JSON в Python:


import json with open('store.json') as json_file:
data = json.load(json_file) print(data)

Файл JSON теперь хранится в каталоге data Переменная.



Метод печати просто напечатает указанный выше JSON.

Примечание:Вышеупомянутый метод сохранит JSON как словарь Python . Мы можем проверить это, напечатав type, print (type (data)).

Учебное пособие по JSON - Узнайте, как использовать JSON с JavaScript



Извлечь конкретные данные из JSON

Теперь, когда у нас есть наш JSON в качестве словаря Python, мы можем получить определенные данные, указав поле, которое представляет key в словаре.

Например, чтобы получить цену велосипеда в приведенном выше JSON, мы должны использовать:


print(data['store']['bicycle']['price'])

Выход:

19.95

Извлечь данные из массива JSON

В приведенном выше примере JSON поле «книга» представляет собой массив JSON.

Мы можем использовать индексную нотацию для извлечения определенных элементов.

Например, чтобы получить название второй книги, мы должны использовать:


print(data['store']['book'][1]['title'])

Выход:

Sword of Honour

Условный парсинг JSON

Предположим, мы хотим получить все книги, цена которых меньше или равна 10,00.

Тогда мы использовали бы:

books = data['store']['book'] for book in books:
if book['price'] <= 10.00:
print(book)

Выход:


{'category': 'reference', 'author': 'Nigel Rees', 'title': 'Sayings of the Century', 'price': 8.95}

Заключение

В этом посте мы рассмотрели, как анализировать JSON в Python. Ключевой вывод здесь заключается в том, что после загрузки файла JSON он сохраняется как словарь Python. Когда у нас есть словарь, мы можем использовать обычные методы словаря для извлечения определенных значений из JSON.