Як мы разбіраем JSON у Python. Спачатку мы загружаем файл JSON, выкарыстоўваючы метад json.load (). У выніку атрымліваецца слоўнік Python. Затым мы можам атрымаць доступ да палёў, выкарыстоўваючы метады слоўніка.
JSON - гэта лёгкі фармат абмену дадзенымі.
Каб атрымаць інфармацыю з файла JSON альбо адказу JSON, нам трэба прааналізаваць дадзеныя.
У нашым прыкладзе мы выкарыстаем наступны 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 як слоўнік пітона . Мы можам праверыць гэта, надрукаваўшы тып, print (type (data)).Цяпер, калі мы маем наш JSON як слоўнік Python, мы можам атрымаць пэўныя дадзеныя, указаўшы поле, якое прадстаўляе key
у слоўніку.
Напрыклад, каб даведацца пра цану ровара ў прыведзеным вышэй JSON, мы будзем выкарыстоўваць:
print(data['store']['bicycle']['price'])
Выхад:
19.95
У прыведзеным вышэй прыкладзе JSON поле 'кніга' - гэта масіў JSON.
Мы можам выкарыстоўваць абазначэнне індэкса для атрымання пэўных элементаў.
Напрыклад, каб атрымаць назву другой кнігі, мы б выкарысталі:
print(data['store']['book'][1]['title'])
Выхад:
Sword of Honour
Дапусцім, мы хацелі атрымаць усе кнігі, кошт якіх меншая або роўная 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.