JSON nədir?
JSON (JavaScript Object Notation) — məlumatların strukturlaşdırılmış formada saxlanılması və proqramlar arasında ötürülməsi üçün istifadə olunan mətn əsaslı məlumat formatıdır. Sadə dillə desək, JSON məlumatı proqramların rahat oxuya və emal edə biləcəyi formada təşkil etməyə imkan verir. Məsələn, bir istifadəçi haqqında ad, yaş və şəhər məlumatlarını aşağıdakı şəkildə saxlamaq mümkündür:
{
"name": "Aysel",
"age": 24,
"city": "Bakı"
}
Bu nümunədə məlumat açar və dəyər — key-value prinsipi ilə saxlanılır. name, age və city açarlardır, onların qarşısında yerləşən məlumatlar isə həmin açarlara aid dəyərlərdir. JSON xüsusilə veb proqramlaşdırmada, API-lərdə, mobil tətbiqlərdə, serverlərdə və müxtəlif proqram sistemləri arasında məlumat mübadiləsində geniş istifadə olunur.
JSON nə üçün istifadə olunur?
Müasir proqramların böyük hissəsi bir neçə fərqli sistemin birlikdə işləməsi ilə hazırlanır. Məsələn, istifadəçinin gördüyü Front-End hissəsi məlumatı Back-End serverdən əldə edə bilər. Server isə məlumatları verilənlər bazasından götürür və istifadəçiyə göndərir. Bu sistemlər arasında məlumatların ötürülməsi üçün ortaq format tələb olunur. JSON bu məqsəd üçün ən çox istifadə olunan formatlardan biridir.
JSON vasitəsilə aşağıdakı məlumatları ötürmək mümkündür:
- istifadəçi məlumatları;
- məhsulların siyahısı;
- sifariş məlumatları;
- hava proqnozu;
- xəritə məlumatları;
- sosial şəbəkə məlumatları;
- süni intellekt servislərinin nəticələri;
- tətbiq parametrləri.
JSON-un mətn əsaslı və sadə struktura malik olması onu həm proqramların emal etməsi, həm də proqramçıların oxuması üçün rahat edir.
JSON necə işləyir?
JSON məlumatları açar və dəyər cütləri formasında təşkil edə bilir.
Məsələn:
{
"course": "Python Back-End",
"duration": 6,
"active": true
}
Burada course açarının dəyəri mətn, duration açarının dəyəri rəqəm, active açarının dəyəri isə Boolean tipli true məlumatıdır. JSON daxilində məlumatlar daha mürəkkəb strukturlarda da saxlanıla bilər.
Məsələn:
{
"student": {
"name": "Murad",
"age": 20
},
"courses": [
"Python",
"SQL",
"Django"
]
}
Burada həm object, həm də array istifadə olunur. Bu imkan JSON vasitəsilə sadə məlumatlardan böyük və mürəkkəb məlumat strukturlarına qədər fərqli informasiyaların təqdim edilməsinə şərait yaradır.
JSON hansı məlumat tiplərini dəstəkləyir?
JSON bir neçə əsas məlumat tipini dəstəkləyir.
String — mətn məlumatlarıdır.
"name": "Aysel"
Number — rəqəmlərdir.
"age": 24
Boolean — true və ya false qiymətləridir.
"active": true
Array — bir neçə məlumatın siyahı formasında saxlanılmasıdır.
"skills": ["Python", "SQL", "Django"]
Object — daxilində başqa key-value cütləri saxlayan strukturdur.
"address": {
"city": "Bakı",
"country": "Azərbaycan"
}
null — dəyərin mövcud olmadığını göstərir.
"middleName": null
Bu məlumat tiplərini birlikdə istifadə etməklə mürəkkəb məlumat strukturları yaratmaq mümkündür.
JSON faylı nədir?
JSON məlumatları ayrıca fayl şəklində də saxlanıla bilər. Bu faylların uzantısı adətən:
.json
şəklində olur.
Məsələn:
users.json
products.json
config.json
JSON faylları adi mətn faylları olduğu üçün Visual Studio Code və digər kod redaktorları vasitəsilə açıla və redaktə edilə bilər. JSON faylları proqramların konfiqurasiya məlumatlarının saxlanılması, məlumatların sistemlər arasında ötürülməsi və müxtəlif servislərdən əldə olunan nəticələrin saxlanılması üçün istifadə edilə bilər.
JSON və API arasında hansı əlaqə var?
JSON-un ən geniş istifadə sahələrindən biri API-lərdir. API müxtəlif proqramların və sistemlərin bir-biri ilə əlaqə yaratmasına imkan verir. Məsələn, mobil tətbiq serverə istifadəçi məlumatlarını almaq üçün sorğu göndərə bilər. Server həmin sorğunu qəbul etdikdən sonra cavabı JSON formatında qaytara bilər. Cavab belə görünə bilər:
{
"id": 124,
"name": "Nigar",
"email": "nigar@example.com"
}
Frontend və ya mobil tətbiq həmin JSON məlumatını qəbul edir, emal edir və istifadəçiyə uyğun formada göstərir. Bu səbəbdən API öyrənərkən JSON strukturunu başa düşmək vacibdir.
JSON və JavaScript eyni şeydirmi?
Xeyr. JSON-un adı JavaScript Object Notation ifadəsindən gəlsə də, JSON proqramlaşdırma dili deyil və yalnız JavaScript-də istifadə edilmir. Python, Java, C#, PHP, Go və digər proqramlaşdırma dilləri də JSON məlumatlarını oxuya və yarada bilir. JSON sintaksisi JavaScript object strukturuna bənzəyir, lakin aralarında müəyyən fərqlər mövcuddur. Məsələn, JSON daxilində object açarları ikiqat dırnaq işarəsi ilə yazılmalıdır:
{
"name": "Murad"
}
JSON funksiyalar kimi JavaScript-ə məxsus bütün məlumat tiplərini dəstəkləmir. Buna görə JSON və JavaScript əlaqəli anlayışlar olsa da, onları eyni hesab etmək düzgün deyil.
JSON.parse() nədir?
JavaScript-də serverdən gələn JSON məlumatı çox vaxt mətn — string formasında olur. Bu mətni JavaScript object-ə çevirmək üçün JSON.parse() metodundan istifadə edilir.
Məsələn:
const data = '{"name":"Aysel","age":24}';
const user = JSON.parse(data);
console.log(user.name);
Bu nümunədə JSON formatında olan mətn JavaScript object-ə çevrilir. Bu proses deserialization adlandırılır.
JSON.stringify() nədir?
Bəzən əks əməliyyata ehtiyac yaranır. JavaScript object-i JSON formatında mətnə çevirmək üçün JSON.stringify() metodundan istifadə edilir.
Məsələn:
const user = {
name: "Aysel",
age: 24
};
const jsonData = JSON.stringify(user);
Bu proses serialization adlandırılır. Belə çevirmə xüsusilə məlumat serverə göndərilərkən və ya saxlanılarkən lazım ola bilər.
JSON və XML arasında fərq nədir?
JSON-dan əvvəl sistemlər arasında məlumat mübadiləsində XML geniş istifadə edilirdi. XML məlumatı tag-lər vasitəsilə təqdim edir:
<user>
<name>Aysel</name>
<age>24</age>
</user>
Eyni məlumat JSON formatında isə belə görünür:
{
"name": "Aysel",
"age": 24
}
JSON adətən daha qısa və oxunaqlı struktura malikdir. Bu xüsusiyyət onu xüsusilə veb API-lərdə geniş istifadə olunan formata çevirib. Bununla belə, XML hələ də müəyyən korporativ sistemlərdə və xüsusi məlumat standartlarında istifadə olunur.
JSON və verilənlər bazası eyni şeydirmi?
Xeyr. JSON məlumat formatıdır, verilənlər bazası isə məlumatların saxlanılması və idarə olunması üçün istifadə olunan sistemdir. Məsələn, SQL verilənlər bazalarında məlumatlar əsasən cədvəllərdə saxlanılır. NoSQL verilənlər bazalarının bəzi növlərində isə JSON-a bənzər document strukturlarından istifadə olunur. MongoDB buna məşhur nümunələrdən biridir. MongoDB sənədləri BSON formatında saxlayır və həmin struktur JSON-a çox bənzəyir. Beləliklə, JSON özü verilənlər bazası deyil, lakin verilənlər bazasına göndərilən və ya oradan alınan məlumatların təqdim edilməsi üçün istifadə edilə bilər.
JSON-un üstünlükləri nələrdir?
JSON-un populyar olmasının əsas səbəblərindən biri sadə strukturudur. Onun əsas üstünlükləri bunlardır:
- insan tərəfindən rahat oxunması;
- proqramlar tərəfindən asan emal olunması;
- bir çox proqramlaşdırma dili tərəfindən dəstəklənməsi;
- API-lərlə rahat işləməsi;
- mürəkkəb məlumat strukturlarını təqdim edə bilməsi;
- mətn əsaslı və yüngül format olması.
Bu xüsusiyyətlər JSON-u müasir proqramlaşdırmada əsas məlumat mübadiləsi formatlarından birinə çevirir.
JSON harada istifadə olunur?
JSON bir çox fərqli texnologiyada istifadə edilir. Front-End proqramlaşdırmada API-dən məlumat almaq üçün, Back-End proqramlaşdırmada server cavablarının hazırlanması üçün, mobil tətbiqlərdə serverlə əlaqə yaratmaq üçün, NoSQL sistemlərində document əsaslı məlumatlarla işləmək üçün və müxtəlif proqramların konfiqurasiya fayllarında JSON-a rast gəlmək mümkündür. Süni intellekt və digər bulud servislərinin API-ləri ilə işləyərkən də request və response məlumatları tez-tez JSON formatında olur. Bu səbəbdən JSON anlayışını bilmək xüsusilə Front-End, Back-End və Full-Stack proqramlaşdırma öyrənənlər üçün vacibdir.
JSON öyrənmək çətindirmi?
JSON-un əsas sintaksisini öyrənmək mürəkkəb deyil. Object, array, key-value strukturu və əsas məlumat tiplərini başa düşdükdən sonra sadə JSON məlumatları ilə işləməyə başlamaq mümkündür. Daha sonra API request və response-ları, JSON parse və stringify əməliyyatları, nested object-lər və array-lərlə işləməyi öyrənməklə bilikləri inkişaf etdirmək olar. JSON xüsusilə API və Back-End proqramlaşdırmanı öyrənmək istəyənlər üçün əsas anlayışlardan biridir.
Əgər JSON, API, REST API, verilənlər bazaları və server tərəfli proqramlaşdırmanı praktiki şəkildə öyrənmək istəyirsinizsə, JET Academy-nin Python Back-End və Full-Stack Proqramlaşdırma təlimləri ilə tanış ola bilərsiniz.
