CodeGym /Kurslar /Python SELF AZ /JSON ilə tanışlıq

JSON ilə tanışlıq

Python SELF AZ
Səviyyə , Dərs
Mövcuddur

1.1 JSON-un yaranması

JSON (JavaScript Object Notation) — bu, data mübadiləsi üçün istifadə olunan mətn formatıdır. O, 2000-ci illərin əvvəlində Douglas Crockford tərəfindən yaradılmışdır və sadəliyi və istifadəsinin rahatlığı ilə məşhur olmuşdur.

JSON-un əsas ideyası elə bir format yaratmaqdır ki, həm insanlar onu asanlıqla oxuyub başa düşə bilsin, həm də proqramlar üçün onu pars etmək və yaratmaq asan olsun. JSON əvvəlcə JavaScript sintaksisi əsasında yaradılıb, amma format o qədər universal oldu ki, bir çox digər proqramlaşdırma dilləri də onu dəstəkləməyə başladı. İndi JSON JavaScript-dən asılı olmayaraq istifadə edilə bilir: o, müxtəlif sistemlər və tətbiqlər üçün data mübadiləsi standartına çevrilib, hansılar ki, hansı dildə yazılmasından asılı olmadan istifadə olunur.

JSON — faktiki olaraq obyektin JavaScript dilindəki vəziyyətinin qeydidir. Yəni, hardasa belə. Məhz buna görə də JSON xüsusilə frontend üçün API yazanlar arasında məşhurdur. Bundan əlavə, JSON konfiqurasiya faylları və login yadda saxlanması üçün də geniş istifadə olunur.

JSON-un əsas xüsusiyyətləri

İnsan üçün oxunaqlıq:

JSON formatını insanlar asanlıqla oxuya və başa düşə bilər. Bu, onun konfiqurasiya fayllarında və müştəri-server arasında data mübadiləsi üçün istifadə edilməsini rahat edir.

Dildən asılı olmama:

JSON, JavaScript sintaksisi əsasında yaradılmasına baxmayaraq, istənilən proqramlaşdırma dili ilə istifadə edilə bilər. Bir çox proqramlaşdırma dilləri JSON ilə işləmək üçün daxil olan kitabxanalar təqdim edir.

Parsinqin asanlığı:

Parsinq (ingiliscə "parsing" sözündən) — bu, data strukturunu (adətən mətn və ya kod) təhlil edib mənalı məlumatı əldə etmə prosesidir. Proqramlaşdırma kontekstində parsinq tez-tez mətn məlumatlarının işlənməsi üçün tətbiq olunur. JSON həm müştəri, həm də server tərəfində asanlıqla pars edilə və yaradıla bilər. Hazırda hər proqramlaşdırma dilində obyektləri JSON-a və əksinə çevirmək üçün kitabxana mövcuddur.

Standart və açıq lider:

10 il əvvəl JSON, XML ilə birlikdə API-nin standartı kimi mübarizə aparırdı. İndi JSON qalib gəlib və açıq liderdir. Backend API-nizdə yalnız JSON dəstəkləyib kifayət edə bilərsiniz, hətta API-niz digər serverlər tərəfindən çağrılsa belə.

1.2 JSON Strukturu

JSON "açar-dəyər" cütlərindən ibarət bir dəstdir və onun sintaksisi iki əsas struktura malikdir:

Obyektlər: Obyektlər nizamsız "açar-dəyər" cütlərindən ibarətdir. Açarlar — sətirlərdir, dəyərlər isə JSON tərəfindən dəstəklənən istənilən məlumat tipi ola bilər.


{
    "name": "John",
    "age": 30,
    "isStudent": false,
    "courses": ["Math", "Science"],
    "address": {
        "city": "New York",
        "zipCode": "10001"
    }
}

Massivlər/Siyahılar: Massivlər dəyərlərin nizama salınmış dəstlərini təmsil edir (Python-da siyahılara bənzəyir). Dəyərlər JSON tərəfindən dəstəklənən istənilən məlumat tipi ola bilər.


["Apple", "Banana", "Cherry", 100, 3.14, true]

Bu, Python obyektlərinə çox bənzəyir, elə deyilmi?

Məsələ burasındadır ki, JSON əslində JavaScript-də məlumat yazılması üçün standartdır və JavaScript vaxtında Python-dan ilhamlanmışdı. Buna görə JSON istifadə etmək xoşunuza gələcək.

1.3 JSON-da məlumat tipləri

JSON aşağıdakı məlumat tiplərini dəstəkləyir:

Sətirlər: qoşa dırnaqlarda göstərilir.


"name": "John"

Rəqəmlər: tam və ya onluq nöqtəsi ilə ola bilər.


"age": 30

Obyektlər: "açar-dəyər" cütlərinin sıra tanımayan yığımını nümayiş etdirir.


"address": {
    "city": "New York",
    "zipCode": "10001"
}

Massivlər/Siyahılar: sıra ilə düzülmüş dəyərlər yığını.


"courses": ["Math", "Science"]

Boolean dəyərlər: true və ya false.


"isStudent": false

Python-dan fərqli olaraq, truefalse kiçik hərflə yazılır.

null: boş dəyəri göstərir.


"middleName": null

Tarix və saat: sətir kimi ötürülür.


{
    "datetime": "2023-05-15T14:30:00Z",
    "date": "2023-05-15",
    "time": "14:30:00"
}

Əvvəllər UNIX timestamp formatında rəqəmlər kimi ötürülürdü, lakin bu yanaşma artıq istifadə olunmur.

Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION