Asosiy kontentga o'tish
Bu nima?

JSON formati

Ma’lumotlar foydalanuvchi va kompyuterga tushunarli bo‘lishi uchun ularni qanday shaklda saqlash kerakligi haqida soʻz yuritamiz.

JSON nima va u qanday tuzilgan?

JSON (JavaScript Object Notation) — ma’lumotlarni saqlash hamda ularni turli tizim va ilovalar o‘rtasida uzatishda ishlatiladigan matn formatidagi ma’lumotlar almashinuvi. U JavaScript sintaksisi asosida yaratilgan. Lekin undan mustaqil. Shuning uchun ham Python, Ruby, Java, C# va boshqa ko‘plab tillarda qo‘llanadi.

JSON inson o‘qishi uchun qulay bo‘lgan format. Unda ma’lumotlar kalit va qiymat juftliklari shaklida tuziladi. JSONʼning asosiy tamoyili ma’lumotlar strukturasini soddalashtirishdir. Bu uni yanada tushunarli qiladi va foydalanish uchun qulaylashtiradi.

JSON strukturasi:

  • Kalitlar har doim qo‘shtirnoq ichidagi satrlar koʻrinishida yoziladi.

  • Qiymatlar satrlar, sonlar, bull (mantiqiy) qiymatlar, obyektlar, massivlar yoki null kabi turli xil koʻrinishda bo‘lishi mumkin.

  • Har bir element vergul bilan ajratib yoziladi. Obyekt yoki massiv esa mos ravishda shakldor, kvadrat qavslar bilan boshlanadi va tugaydi.

JSON ma’lumotlarni oʻzaro oson almashish imkonini beradigan soddaligi va moslashuvchanligi tufayli ommaboplashgan.

JSONʼning boshqa formatlarga nisbatan afzalliklari

  1. O‘qish osonligi va soddaligi. JSON formati ham insonlar, ham kompyuterlar uchun intuitiv ravishda tushunarlidir. Uning strukturasini idrok etish oson. Teglar mavjud bo‘lgan XMLʼdagi kabi murakkab formatlash qoidalarini talab qilmaydi. Hatto chuqur texnik bilimga ega bo‘lmagan kishilar ham JSON fayllarni osongina talqin qilishi mumkin.

  2. Ma’lumotlarning kichik hajmi. JSON ochiq va yopiq teglar mavjud bo‘lmagani sababli XMLʼga nisbatan kichikroq strukturadan foydalanadi. Bu uzatiladigan ma’lumotlar hajmini sezilarli darajada qisqartirish imkonini beradi. Ayniqsa, bu trafik hajmi muhim ahamiyatga ega bo‘lgan tarmoq ilovalari va veb xizmatlar uchun juda muhimdir.

  3. Ma’lumotlarni taqdim etishdagi moslashuvchanlik. JSON ma’lumotlarning ko‘plab turlarini (satrlar, sonlar, mantiqiy qiymatlar, massiv va obyektlar) qo‘llab-quvvatlaydi va bu ma’lumotlarning murakkab strukturalarini oson hamda samarali taqdim etish imkonini beradi. JSONʼning bu xususiyati uni faqat jadval ko‘rinishidagi ma’lumotlar bilan ishlaydigan CSVʼga nisbatan ancha universal qiladi.

  4. Dasturlash tillari bilan integratsiyalashning osonligi. JSON zamonaviy dasturlash tillarining aksariyatida bevosita qo‘llanadi. Uning strukturasi JavaScriptʼdagi obyekt va massivlarga o‘xshash. Bu uni frontend va bekend o‘rtasida ma’lumot almashish uchun tabiiy tanlovga aylantiradi. Ko‘plab tillarda JSON bilan ishlash uchun ichki kutubxonalar mavjud va bu uning qayta ishlanishini osonlashtiradi.

  5. Keng ko‘lamli yordam. JSON zamonaviy veb brauzer, API va serverlarning aksariyati tomonidan qo‘llab-quvvatlanadi. Bu uni veb ilova va veb xizmatlardagi ma’lumot almashish standartiga aylantirgan.

JSON bilan ishlash

Ko‘plab dasturlash tillari va vositalar, masalan, JavaScript, Python, Java, PHP, Ruby, C# va boshqalarda keng tarqalgani va qo‘llab-quvvatlanishi tufayli JSON bilan ishlash ancha oson hamda samaralidir. Quyida ularning ayrimlarida JSON bilan ishlashga misollar keltirilgan.

  • JavaScript. JavaScriptʼda JSON nativ format bo‘lib, u bilan ishlash uchun JSON.parse() va JSON.stringify() usullaridan foydalaniladi

JSON satrni obyektga aylantirish uchun:

const jsonString = '{"name": "Yura", "age": 30}';
const obj = JSON.parse(jsonString);
console.log(obj.name);  // "Yura"

Obyektni JSON satrga aylantirish uchun:

const obj = { name: "Alexei", age:  53};
const jsonString = JSON.stringify(obj);
console.log(jsonString);  // '{"name":"Alexei","age":53}'
  • Python. Pythonʼda JSON bilan ishlash uchun o‘rnatilgan json modulidan foydalaniladi.

JSONʼni o‘qish uchun:

import json
json_string = '{"name": "Alice", "age": 29}'
data = json.loads(json_string)
print(data["name"])  # "Alice"

Obyektni JSONʼga yozish uchun:

import json
data = {"name": "Bob", "age": 31}
json_string = json.dumps(data)
print(json_string)  # '{"name": "Bob", "age": 31}'

JSON formatida taqdim etilgan ma’lumotlarni dastur kodida foydalanish mumkin bo‘lgan obyektlarga aylantirish jarayoni JSON parsing deb ataladi. Parsing jarayoni ko‘plab dasturlash tillarida mavjud bo‘lgan tayyor kutubxona va o‘rnatilgan funksiyalar tufayli ancha soddalashtirilgan. Masalan, JavaScriptʼda bu JSON satrini avtomatik ravishda obyektga aylantiradigan JSON.parse() usuli yordamida amalga oshiriladi.

Seriyalashtirish — obyekt yoki ma’lumotlar strukturalarini saqlash va uzatish uchun JSON satriga aylantirish jarayoni. Bu koʻproq mijoz va server o‘rtasida ma’lumotlarni HTTP kabi veb protokollar orqali uzatishda juda qo‘l keladi. Misol uchun, Python dasturlash tilida keyinchalik foydalanish yoki uzatish uchun obyektni JSON satriga aylantiradigan json.dumps() usuli qo‘llanadi.

API orqali ma’lumot almashish JSONʼning asosiy qo‘llanish sohalaridan biridir. Veb ilovalar so‘rov yuborish va javob olish uchun JSONʼdan faol foydalanadi. Misol uchun, REST API bilan ishlashda so‘rov yoki javobdagi ma’lumotlar ko‘pincha JSON formatida uzatiladi. Mijoz JSON ma’lumotlarini o‘z ichiga olgan HTTP so‘rov yuboradi. Server ham javobni JSON formatida qaytaradi. Bu esa mijozlar va serverlar o‘rtasida unifikatsiyalangan o‘zaro aloqani ta’minlash imkonini beradi.

JSON yordamida API’dan ma’lumot olish so‘rovi namunasi:

curl -X GET "https://api.example.com/data" -H "Accept: application/json"

JSON bilan ishlashda uning to‘g‘riligiga ishonch hosil qilish muhim. JSONʼni validatsiya qilish uchun maxsus onlayn vosita va kutubxonalar mavjud. Bu vositalar hujjat strukturasi va xatolar mavjudligini (masalan, tushirib qoldirilgan qavs yoki qo‘shtirnoqlar) tekshiradi. API orqali ma’lumotlarni uzatishda validatsiya juda ham muhim. Chunki bu server yoki mijoz tomonida ma’lumotlarni qayta ishlashda yuzaga kelishi mumkin boʻlgan xatoliklarning oldini oladi.

JSON formatidagi ma’lumotlarga misollar

JSON oddiy qiymatlardan tortib murakkab iyerarxiyalargacha boʻlgan turli xil ma’lumotlar strukturasini ifodalashda ishlatilishi mumkin bo‘lgan moslashuvchan ma’lumotlar formatidir. JSON ma’lumotlarni saqlash va uzatishda qanday tarzda qo‘llanishi mumkinligini namoyish etuvchi bir nechta misolni ko‘rib chiqamiz.

1. Oddiy obyekt

JSONʼga eng sodda misol sifatida bir nechta kalit va qiymatlardan iborat obyektni keltirish mumkin:

{
    "name": "Alice",
    "age": 28,
    "isHuman": true
}

Bu misolda biz uchta kalit — "name" (satr), "age" (son) va "isHuman" (mantiqiy qiymat)ni ko‘ryapmiz. Bu JSON obyekti biror mavjudot haqidagi ma’lumotlarni ifodalash uchun ishlatilishi mumkin.

2. Obyektlar massivi

JSON nafaqat alohida obyektlar, balki massivlarni ham saqlash imkonini beradi. Bu ma’lumotlar to‘plamlari, masalan, foydalanuvchilar yoki mahsulotlar ro‘yxatini taqdim etish uchun juda qulay.

[
    {
        "name": "Alice",
        "age": 30,
        "isEmployed": true
    },
    {
        "name": "Bob",
        "age": 25,
        "isEmployed": false
    }
]

3. Ichki obyektlar

JSON ichki strukturalarni qo‘llab-quvvatlaydi. Bu esa boshqa obyektlar ichidagi obyektlar kabi murakkab ma’lumotlarni ifodalash imkonini beradi.

{
    "name": "Alina",
    "address": {
        "street": "Khalglar Dostlugu",
        "city": "Baku",
        "postalCode": 12345
    },
    "phoneNumbers": [
        {
            "type": "home",
            "number": "123-456-7890"
        },
        {
            "type": "work",
            "number": "111-14-1988"
        }
    ]
}

Mazkur misolda "address" obyekti asosiy obyekt ichiga kiritilgan obyekt. "phoneNumbers" esa bir nechta telefon raqamlarini ifodalovchi obyektlar massividir.

4. APIʼning JSON formatidagi javobi namunasi

JSON ko‘pincha API orqali ma’lumotlarni uzatishda ishlatiladi. Quyida APIʼning foydalanuvchi haqidagi ma’lumotlarga ega odatiy javobiga misol keltirilgan:

{
    "user": {
        "id": 12345,
        "username": "alina",
        "email": "[email protected]",
        "profile": {
            "firstName": "Alina",
            "lastName": "Nabieva",
            "age": 29
        },
        "friends": [
            {
                "id": 54321,
                "username": "xenia"
            },
            {
                "id": 98765,
                "username": "oxs"
            }
        ]
    }
}

Bu misolda JSON serverning foydalanuvchi, uning profili va do‘stlari ro‘yxati haqidagi ma’lumotlarga ega javobini ifodalash uchun ishlatilgan.

JSON formatidagi faylni yaratish

JSON faylni yaratish juda oson, chunki bu ma’lumotlar belgilangan formatda saqlanadigan, .json kengaytmali oddiy matn faylidan iborat. Quyida JSON fayl yaratishning asosiy bosqichlari, shuningdek, uni turli matn muharriri va dasturiy muhitlarda yaratishga misollar keltirilgan.

1. JSON faylni qo‘lda yaratish

JSON faylni yaratishning eng oson usuli Notepad (Windows), TextEdit (Mac) kabi oddiy matn muharriri yoki Visual Studio Code, Sublime Text kabi ancha takomillashgan muharrirlardan foydalanishdir.

JSON faylni yaratish uchun quyidagi bosqichlar bajarilishi lozim:

  1. Istalgan matn muharririni oching.

  2. Sintaksisga rioya qilgan holda (qo‘shtirnoq ichiga olingan kalitlar, kerakli formatdagi qiymatlar, shakldor va kvadrat qavslardan foydalanib) JSON ma’lumotlarini kiriting.

{
    "name": "Bob",
    "age": 30,
    "isEmployed": true,
    "skills": ["JavaScript", "Python", "C++"]
}
  1. Faylni .json kengaytmasi bilan saqlash uchun saqlash paytida “Barcha fayllar” formatini tanlab, o‘zingiz xohlagan nom, masalan, data.jsonʼni ko‘rsating.

  2. Faylni JSON fayllari uchun standart bo‘lgan UTF-8 kodlash turi bilan saqlash zarur.

2. Turli dasturlash tillarida JSON fayl yaratish

Ko‘plab dasturlash tillarida JSON fayllarni osonlik bilan yaratish imkonini beruvchi o‘rnatilgan yoki tashqi kutubxonalar mavjud. Bir nechta ommalashgan tillardagi misollarni ko‘rib chiqamiz.

  • Python. Python’da JSON faylni o‘rnatilgan json moduli yordamida yaratish mumkin. Ma’lumotlarni JSON faylga yozadigan dasturga misol:

import json
data = {
    "name": "Petya",
    "age": 30,
    "isEmployed": True,
    "skills": ["JavaScript", "Python", "C++"]
}

with open("data.json", "w") as json_file:
    json.dump(data, json_file, indent=4)

Bu misolda o‘qish qulay bo‘lishi uchun ma’lumotlar data.json fayliga xatboshi bilan yoziladi.

  • JavaScript (Node.js). Node.jsʼda JSON faylni fayl tizimi bilan ishlash uchun o‘rnatilgan fs modulidan foydalangan holda osongina yaratish mumkin.

const fs = require('fs');

const data = {
    name: "John",
    age: 30,
    isEmployed: true,
    skills: ["JavaScript", "Python", "HTML"]
};

fs.writeFile("data.json", JSON.stringify(data, null, 4), (err) => {
    if (err) {
        console.error(err);
        return;
    }
    console.log("File has been created");
});

Bu yerda JSON.stringify() usuli obyektni keyinchalik faylga yoziladigan JSON satriga aylantiradi.

JSONʼni kompyuterda qanday ochish mumkin?

Fayl bilan qanday ishlarni bajarishni rejalashtirganingizga koʻra JSON faylni kompyuterda turli usullar bilan saqlaysiz. Shunchaki uning tarkibini ko‘rish, tahrirlash yoki dasturiy ishlov berish uchun ochish mumkin. Quyida JSON fayllarni ochish va ular bilan ishlashning asosiy usullari keltirilgan.

1. JSONʼni matn muharrirlarida ochish

JSON fayllar oddiy matn fayllari bo‘lgani uchun ularni istalgan matn muharriri yordamida ochish mumkin. Agar faylni shunchaki ko‘zdan kechirish yoki qo‘lda tahrirlash kerak bo‘lsa, bu eng qulay usul hisoblanadi.

  • Windowsʼdagi Notepad (“Bloknot”). JSON faylni menyudagi “Fayl” -> “Ochish” yoki faylni “Bloknot” oynasiga olib oʻtish orqali ochish mumkin. JSON oddiy matn ko‘rinishida aks ettiriladi. Zarurat tug‘ilganda uni tahrirlash va saqlash ham mumkin.

  • MacOS tizimidagi TextEdit ham JSON fayllarni matnli fayl sifatida ochadi. Faylni menyudagi “File” -> “Open” orqali yoki shunchaki faylni dastur ustiga olib oʻtib ochish mumkin.

  • Visual Studio Code, Sublime Text yoki Notepad++ kabi takomillashgan matn muharrirlari sintaksisni ajratib koʻrsatadi. Formatlash va JSON bilan ishlashni yanada qulaylashtiradigan vositalarni taqdim etadi. Masalan, Visual Studio Codeʼda JSON boʻyicha yordam o‘rnatilgan. Faylni ochganda kalit va qiymatlar avtomatik ravishda ajratib ko‘rsatiladi. Bu esa o‘qish va tahrirlashni ancha osonlashtiradi.

2. JSONʼni brauzerda ochish

JSON fayllarni Yandex Browser, Google Chrome, Mozilla Firefox, Microsoft Edge kabi veb brauzerlarda ham ochish mumkin. Agar JSON faylni brauzer oynasiga olib oʻtsangiz, uning tuzilishi qulay formatda ko‘rsatiladi.



Manba: Что такое формат JSON

Mohirdev Telegram

Telegram kanalimizga obuna bo’lishni unutmang

Obuna bo'lish
Yandex Praktikum

Yandex Praktikum

O'xshash maqolalar