PYTHONDAN JSONGA
JSON maʻlumotlar va fayllar bilan ishlash uchun Pythonda maxsus json moduli bor. Demak, dasturimiz boshida biz bu modulni yuklab olishimiz kerak boʻladi (import json).
Ma'lumotlarni JSON matniga o'tkazish uchun ikki funksiyadan foydalanamiz:
json.dumps(x) — berilgan x o'zgaruvchini JSON matniga o'zgartiradi
json.dump(x,fayl) — berilgan x o'zgaruvchini JSON ga o'zgartirib, ko'rsatilgan faylga saqlaydi.
json.dumps()
Ma'lumotlarni JSON formatiga o'tkazish uchun json.dumps() funksiyasidan foydalanamiz:
In [4]:
import json
x = 10
x_json = json.dumps(x)
ism = "anvar"
ism_json = json.dumps(ism)
sonlar = [12, 45, 23, 67]
sonlar_json = json.dumps(sonlar)
JSON ma'lumotlar matn ko'rinishida saqlanadi.
In [5]:
print(type(sonlar_json))
Yuqoridagi aytganimizdek, ko'p holatlarda JSON ma'lumotlar lug'at ko'rinishda uzatiladi.
In [6]:
bemor = {
"ism": "Alijon Valiyev",
"yosh": 30,
"oila": True,
"farzandlar": ("Ahmad","Bonu"),
"allergiya": None,
"dorilar": [
{"nomi": "Analgin", "miqdori": 0.5},
{"nomi": "Panadol", "miqdori": 1.2}
]
}
bemor_json = json.dumps(bemor)
print() funksiyasi yordamida JSON tarkibini ko'rishimiz mumkin:
In [7]:
print(bemor_json)
{"ism": "Alijon Valiyev", "yosh": 30, "oila": true, "farzandlar": ["Ahmad", "Bonu"], "allergiya": null, "dorilar": [{"nomi": "Analgin", "miqdori": 0.5}, {"nomi": "Panadol", "miqdori": 1.2}]}
Yuqoridagi natija o'qish uchun noqulay ko'rinishda chiqdi. Buni to'g'rilash uchun dumps() funksiyasiga qo'shimcha indent=4 parametrini beramiz. Bu parametr ma'umotlarni saqlashda chapdan qancha joy tashlashni ko'rsatadi:
In [8]:
bemor_json = json.dumps(bemor, indent=4)
print(bemor_json)
{ "ism": "Alijon Valiyev", "yosh": 30, "oila": true, "farzandlar": [ "Ahmad", "Bonu" ], "allergiya": null, "dorilar": [ { "nomi": "Analgin", "miqdori": 0.5 }, { "nomi": "Panadol", "miqdori": 1.2 } ] }
Ko'rib turganingizdek, natija o'qishga qulay ko'rinishda chiqdi. Mavzu boshida, JSON ichidagi ma'lumotlar JavaScript ma'lumot turlariga konvertasiya qilinadi dedik. Buni yuqoridagi misolda ham ko'rishimiz mumkin (farzandlar, oila, allergiya kalitlari qiymatini asl lug'at bilan solishtiring).
json.dump()
Ma'lumotlarni JSON formatiga o'tkazish va faylga yozish uchun json.dump() funksiyasini chaqriamiz. Funksiya parametri sifatida o'zgaruvchi va fayl nomlarini ko'rsatamiz. Albatta buning uchun avval faylni yozish uchun ochgan bo'lishimiz kerak:
In [9]:
bemor = {
"ism": "Alijon Valiyev",
"yosh": 30,
"oila": True,
"farzandlar": ("Ahmad","Bonu"),
"allergiya": None,
"dorilar": [
{"nomi": "Analgin", "miqdori": 0.5},
{"nomi": "Panadol", "miqdori": 1.2}
]
}
with open('bemor.json','w') as f:
json.dump(bemor,f)
JSON fayl tarkibini istalgan matn muharrirda ochib ko'rishimiz mumkin:
Do'stlaringiz bilan baham: |