Sayt belgisi HailBytes

JSON sxemasi bo'yicha qo'llanma

JSON sxemasi

JSON sxemasi bo'yicha qo'llanma

JSON sxemasiga kirishdan oldin JSON va JSON sxemasi o'rtasidagi farqni bilish muhimdir.

JSON

JSON JavaScript Object Notation-ning qisqartmasi bo'lib, bu tildan mustaqil ma'lumotlar formati bo'lib, APIlar so'rovlar va javoblarni yuborish uchun foydalanadi. JSON odamlar va mashinalar uchun o'qish va yozish uchun oddiy. JSON - bu tilga bog'lanmagan matnga asoslangan format (tildan mustaqil).

JSON sxemasi

JSON sxemasi JSON ma'lumotlar strukturasini tekshirish uchun foydali vositadir. JSON tuzilishini belgilash uchun JSON-ga asoslangan formatdan foydalaning. Uning maqsadi JSON ma'lumotlarining maqbulligini ta'minlashdir. Ilovamizning JSON ma'lumotlari uchun konventsiya sxema yordamida aniqlanishi mumkin.

JSON sxemasi spetsifikatsiyasining uchta asosiy bo'limi mavjud:

JSON giper-sxema:

JSON Hyper-Schema - bu JSON sxemasi tili bo'lib, u JSON hujjatlarini giperhavolalar va HTTP kabi matnga asoslangan muhitlar orqali tashqi JSON resurslarini qayta ishlash va o'zgartirish bo'yicha ko'rsatmalar bilan belgilash uchun ishlatilishi mumkin. bosing Bu yerga JSON Hyper-Schema haqida ko'proq ma'lumot olish uchun.

JSON sxemasi yadrosi:

Bu JSON hujjatlarini yorliqlash va tasdiqlash qoidalari to'plami. 

JSON sxemasi yadrosi:

JSON sxemasini tekshirish:

JSON sxemasi asosida tekshirish misol ma'lumotlari tuzilishiga cheklovlar qo'yadi. Shundan so'ng, tasdiqlanmagan har qanday kalit so'zlar axborottavsiflovchi metama'lumotlar va foydalanish ko'rsatkichlari kabi barcha e'lon qilingan cheklovlarga javob beradigan misol pozitsiyasiga qo'shiladi. 

Newtonsoft-ning JSON Schema Validator vositasi to'g'ridan-to'g'ri brauzeringizda bepul foydalanishingiz mumkin bo'lgan vositadir. JSON sxemangizning tuzilishini sinab ko'rish uchun ushbu vositadan foydalanishingiz mumkin. Bu sahifada boshlash uchun boshqaruv elementlari va tushuntirishlar mavjud. Shunday qilib, JSON tuzilmangizni qanday yaxshilashni ko'rish oson.

JSON sxemasini tekshirish vositasi yordamida JSON ob'ektimizni tekshirishimiz mumkin:


Yuqoridagi rasmda ko'rsatilganidek, bizda yoshni tekshirish (minimal = 20 va maksimal = 40) mavjud. Hech qanday xato topilmadi.

Agar yosh tekshiruvi noto'g'ri kiritilgan bo'lsa, u xatolikni ko'rsatdi.

JSON sxemasini yaratish

Keling, nima haqida gapirayotganimizni bilish uchun JSON sxemasining misolini ko'rib chiqaylik. Mahsulot katalogini tavsiflovchi asosiy JSON obyekti quyidagicha:

Uning JSON sxemasi quyidagicha yozilishi mumkin:

JSON sxemasi JSON hujjatidir va bu hujjat ob'ekt bo'lishi kerak. Kalit so'zlar JSON sxemasi tomonidan belgilangan ob'ekt a'zolari/atributlaridir. JSON sxemasidagi "kalit so'zlar" ob'ektdagi kalit/qiymat kombinatsiyasining "kalit" qismiga ishora qiladi. JSON sxemasini yozish ma'lum bir "kalit so'z" ni ob'ekt ichidagi qiymatga ko'rsatishni o'z ichiga oladi. 

Keling, misolimizda ishlatgan kalit so'zlarni batafsil ko'rib chiqaylik: 

Resurs sxemasi mos keladigan JSON sxemasi ushbu atribut tomonidan yozilgan. Ushbu sxema “V4” loyihasida ko'rsatilganidek, qoralamalar vXNUMX standartiga muvofiq yozilgan.$ sxema” kalit so'zi. Bu sizning sxemangizning eski versiyaga mos kelishi yoki mos kelmasligi mumkin bo'lgan joriy versiyaga qaytishini oldini oladi.

"sarlavha"Va"tavsifi” kalit so'zlar faqat tushuntirish; ular tekshirilayotgan ma'lumotlarga hech qanday cheklovlar qo'ymaydi. Ushbu ikkita kalit so'z sxemaning maqsadini tavsiflaydi: u mahsulotni tavsiflaydi.

"shrift” kalit so‘zi JSON ma’lumotlarimizning birinchi chegara shartini belgilaydi; u JSON ob'ekti bo'lishi kerak. Agar biz barcha sxemalar uchun turni belgilamasak, kod ishlamaydi. Ba'zi bir keng tarqalgan turlari "raqam" "mantiqiy" "butun" "null" "ob'ekt" "massiv" "string".

JSON sxemasi quyidagi kutubxonalar tomonidan qo'llab-quvvatlanadi:

Til Kutubxona
C WJElement
Python jschon
PHP Opis Json Schema
JavaScript ajv
Go gojsonsxema
Kotlin Media-validator
yoqut JSONSchemer

JSON (sintaksisi)

Keling, JSONning asosiy sintaksisini qisqacha ko'rib chiqaylik. JSON sintaksisi JavaScript sintaksisining quyi toʻplami boʻlib, quyidagi elementlarni oʻz ichiga oladi:

Quyidagi ikkita ma'lumotlar tuzilmasi JSON tomonidan qo'llab-quvvatlanadi:

JSON (ob'ekt)

JSON sxemasi bu JSON ob'ekti bo'lib, u boshqa JSON ob'ektining turi va tuzilishini belgilaydi. JavaScript obyekt ifodasi JavaScript ish vaqti muhitida JSON obyektini ifodalashi mumkin. Yaroqli sxema ob'ektlarining ba'zi misollari quyidagilardir:

Diagramma o'yinlar
{} har qanday qiymat
{ turi: 'ob'ekt'} JavaScript obyekti
{ turi: 'raqam'} JavaScript raqami
{ turi: 'string'} JavaScript qatori

Masalan:

Bo'sh bo'lgan yangi ob'ektni yaratish:

var JSON_Obj = {};

Yangi ob'ekt yaratish:

var JSON_Obj = new object()

JSON (XML bilan taqqoslash)

JSON va XML tildan mustaqil, inson oʻqishi mumkin boʻlgan formatlardir. Haqiqiy stsenariylarda ular ikkalasini ham yaratishi, o'qishi va dekodlashi mumkin. Quyidagi mezonlarga asoslanib, biz JSONni XML bilan solishtirishimiz mumkin.

Murakkablik

XML JSONga qaraganda murakkabroq bo'lgani uchun dasturchilar JSONni afzal ko'rishadi.

Massivlardan foydalanish

XML tuzilgan ma'lumotlarni ifodalash uchun ishlatiladi; ammo, XML massivlarni qo'llab-quvvatlamaydi, lekin JSON qo'llab-quvvatlaydi.

Ayrilash

JSON JavaScript-ning baholash funktsiyasi yordamida talqin qilinadi. eval JSON bilan foydalanilganda tasvirlangan ob'ektni qaytaradi.

misol:

JSON XML
{

   "kompaniya": Ferrari,

   "nom": "GTS",

   "narx": 404000

}

 

Ferrari 

GTS 

404000 

JSON sxemasining afzalliklari

JSON inson va mashina tomonidan o'qiladigan tilni o'zgartirish uchun mo'ljallangan. Biroq, ba'zi nozik sozlashlarsiz, u ham bo'lishi mumkin emas. JSON sxemasi JSONni ham mashinalar, ham odamlar uchun tushunarli qilish afzalligiga ega.

JSON sxemasidan foydalanish mijoz tomonidan bir nechta yangilanishlarga bo'lgan ehtiyojni ham yo'q qiladi. Umumiy HTML kodlari ro'yxatini tuzish va keyin ularni mijoz tomonida amalga oshirish mijoz tomonini yaratishning odatiy, ammo noto'g'ri usuli hisoblanadi. API ilovalar. Biroq, bu eng zo'r strategiya emas, chunki server tomonidagi o'zgarishlar ba'zi funksiyalarning noto'g'ri ishlashiga olib kelishi mumkin.

JSON sxemasining asosiy afzalligi uning turli dasturlash tillari bilan mosligi, shuningdek, tekshirishning aniqligi va izchilligidir.

JSON sxemasi keng doiradagi brauzerlarni va operatsion tizimlar, shuning uchun JSON-da yozilgan ilovalar barchasini brauzerga mos qilish uchun ko'p harakat talab qilmaydi. Rivojlanish jarayonida ishlab chiquvchilar bir nechta brauzerlarni ko'rib chiqadilar, garchi JSON allaqachon imkoniyatlarga ega.

JSON har qanday hajmdagi maʼlumotlarni, jumladan, audio, video va boshqa ommaviy axborot vositalarini almashishning eng samarali usuli hisoblanadi. Bu JSON ma'lumotlarni massivlarda saqlashi bilan bog'liq, bu esa ma'lumotlarni uzatishni osonlashtiradi. Natijada, JSON onlayn API va ishlab chiqish uchun eng yaxshi fayl formatidir.

API-lar keng tarqalgan bo'lib, API tekshiruvi va sinovi tobora muhim ahamiyat kasb etadi deb taxmin qilish mantiqan to'g'ri. Vaqt o'tishi bilan JSON unchalik oson bo'lmasligini kutish ham haqiqatdir. Bu shuni anglatadiki, ma'lumotlaringiz uchun sxemaga ega bo'lish vaqt o'tishi bilan yanada muhimroq bo'ladi. JSON API bilan ishlash uchun standart fayl formati bo'lgani uchun JSON sxemasi API bilan ishlaydiganlar uchun yaxshi o'rinbosar hisoblanadi.

Mobil versiyadan chiqish