Python'da JSON bilan ishlash

Ma’lumotni faylga saqlash yoki internet orqali uzatish kerak bo’lganda, uni matn ko’rinishiga o’girish lozim. Buning eng keng tarqalgan formati — JSON. Python’da u bilan ishlash uchun tayyor json moduli bor.

JSON nima

JSON — ma’lumotni matn sifatida yozish formati. U Python’ning lug’atiga juda o’xshaydi: kalit–qiymat juftliklari:

{"ism": "Aziz", "yosh": 20, "faol": true}

Deyarli har bir sayt va ilova ma’lumot almashishda JSON ishlatadi — shuning uchun uni bilish muhim.

Lug’atni JSON matnga — dumps

json modulini import qilib, dumps bilan lug’atni matnga aylantiramiz:

Python

Natijada lug’at emas, string hosil bo’ldi. E’tibor bering: Python’ning True si JSON’da true ga aylandi.

JSON matnni lug’atga — loads

Teskari amal — loads matnni qayta lug’atga o’giradi:

Python

Endi odam — oddiy lug’at, unga kalit orqali murojaat qilamiz.

JSON’ni faylga saqlash

Ma’lumotni to’g’ridan-to’g’ri faylga JSON qilib yozish mumkin:

import json

odam = {"ism": "Aziz", "yosh": 20}

with open("odam.json", "w") as fayl:
    json.dump(odam, fayl)

O’qishda esa json.load(fayl) lug’atni qaytaradi. Bu — sozlamalar va ma’lumotni saqlashning keng tarqalgan usuli.

Amaliy mashq

Ma’lumotni saqlang va qayta yuklang:

  1. Talaba haqidagi lug’at yarating — ism, yosh va baholar ro’yxati bo’lsin;
  2. json.dumps() bilan uni matnga aylantiring va chiqaring;
  3. json.loads() bilan qaytadan lug’atga aylantiring;
  4. json.dump() bilan talaba.json fayliga saqlang;
  5. faylni json.load() bilan o’qib, bitta qiymatni chiqaring.

dumps() ga indent=2 qo’shib ko’ring — natija qanday o’zgardi?

Qisqacha xulosa

  • JSON — ma’lumotni matn sifatida yozish formati; Python lug’atiga o’xshash.
  • json.dumps — lug’atni JSON matnga; json.loads — matnni lug’atga.
  • Python True/None JSON’da true/null ga aylanadi.
  • Faylga: json.dump (yozish) va json.load (o’qish) — “s”siz.
  • JSON — saytlar va ilovalar orasida ma’lumot almashishning standarti.

Keyingi darslarda sana va vaqt, regex va boshqa amaliy modullarni ko’ramiz.

Bu dars foydali bo'ldimi?

marta ko'rildi