Skip to content

JSON

JSON Nima?

JSON ma'lumotlarni saqlash va almashish uchun sintaksisdir.

JSON - bu JavaScript obyekt notatsiyasi bilan yozilgan matn.

Python'da JSON

Python'da JSON ma'lumotlari bilan ishlash uchun ishlatiladigan json nomli ichki paket mavjud.

Misol

json modulini import qiling:

python
import json

JSON-ni Tahlil Qilish - JSON-dan Python-ga O'tkazish

Agar sizda JSON satri bo'lsa, uni json.loads() metodidan foydalanib tahlil qilishingiz mumkin.

Natija Python lug'ati bo'ladi.

Misol

JSON-dan Python-ga o'tkazish:

python
import json

# JSON namunasi:
x = '{"name":"John", "age":30, "city":"New York"}'

# x ni tahlil qilish:
y = json.loads(x)

# natija Python lug'ati:
print(y["age"])

Python-dan JSON-ga O'tkazish

Agar sizda Python obyekti bo'lsa, uni json.dumps() metodidan foydalanib JSON satriga aylantirishingiz mumkin.

Misol

Python-dan JSON-ga o'tkazish:

python
import json

# Python obyekti (lug'at):
x = {
    "name": "John",
    "age": 30,
    "city": "New York"
}

# JSON-ga aylantirish:
y = json.dumps(x)

# natija JSON satri:
print(y)

Siz quyidagi Python obyekt turlarini JSON satrlariga aylantirishingiz mumkin:

  • dict
  • list
  • tuple
  • string
  • int
  • float
  • True
  • False
  • None

Misol

Python obyektlarini JSON satrlariga aylantirib, qiymatlarni chop etish:

python
import json

print(json.dumps({"name": "John", "age": 30}))
print(json.dumps(["apple", "bananas"]))
print(json.dumps(("apple", "bananas")))
print(json.dumps("hello"))
print(json.dumps(42))
print(json.dumps(31.76))
print(json.dumps(True))
print(json.dumps(False))
print(json.dumps(None))

Python-dan JSON-ga aylantirganda, Python obyektlari JSON (JavaScript) ekvivalentiga aylantiriladi:

PythonJSON
dictObject
listArray
tupleArray
strString
intNumber
floatNumber
Truetrue
Falsefalse
Nonenull

Misol

Barcha qonuniy ma'lumot turlarini o'z ichiga olgan Python obyektini aylantirish:

python
import json

x = {
    "name": "John",
    "age": 30,
    "married": True,
    "divorced": False,
    "children": ("Ann", "Billy"),
    "pets": None,
    "cars": [
        {"model": "BMW 230", "mpg": 27.5},
        {"model": "Ford Edge", "mpg": 24.1}
    ]
}

print(json.dumps(x))

Natijani Formatlash

Yuqoridagi misol JSON satrini chop etadi, lekin u juda oson o'qilmaydi, chunki unda joy tashlash va qator tanaffuslari yo'q.

json.dumps() metodi natijani o'qishni osonlashtirish uchun parametrlarga ega:

Misol

indent parametridan foydalanib, joy tashlashlar sonini belgilang:

python
json.dumps(x, indent=4)

Shuningdek, ajratgichlarni belgilashingiz mumkin, standart qiymat (", ", ": ") bo'lib, bu har bir obyektni vergul va bo'sh joy bilan ajratishni, kalitlarni qiymatlardan ikki nuqta va bo'sh joy bilan ajratishni anglatadi:

Misol

separators parametridan foydalanib, standart ajratgichni o'zgartiring:

python
json.dumps(x, indent=4, separators=(". ", " = "))

Natijani Tartiblash

json.dumps() metodi natijadagi kalitlarni tartiblash uchun parametrlarga ega:

Misol

sort_keys parametridan foydalanib, natija tartiblanishi kerakligini yoki yo'qligini belgilang:

python
json.dumps(x, indent=4, sort_keys=True)