JSON схемийн гарын авлага

JSON схем

JSON Schema руу орохын өмнө JSON болон JSON схемийн ялгааг мэдэх нь чухал юм.

JSON

JSON нь JavaScript Object Notation гэсэн үгийн товчлол бөгөөд API нь хүсэлт, хариулт илгээхэд ашигладаг хэлээс хамааралгүй өгөгдлийн формат юм. JSON нь хүмүүст болон машинуудад адилхан унших, бичихэд хялбар юм. JSON нь хэлтэй холбоогүй (хэлнээс хамааралгүй) текстэд суурилсан формат юм.

JSON схем

JSON Schema нь JSON өгөгдлийн бүтцийг шалгахад хэрэгтэй хэрэгсэл юм. JSON-ийн бүтцийг тодорхойлохын тулд JSON-д суурилсан форматыг ашиглана уу. Үүний зорилго нь JSON өгөгдлийг хүлээн авах боломжтой эсэхийг баталгаажуулах явдал юм. Манай програмын JSON өгөгдлийн конвенцийг схем ашиглан тодорхойлж болно.

JSON схемийн тодорхойлолтод гурван үндсэн хэсэг байдаг:

JSON гипер схем:

JSON Hyper-Schema нь JSON схемийн хэл бөгөөд JSON баримтуудыг гипер холбоос болон HTTP гэх мэт текстэд суурилсан орчинд дамжуулан гадаад JSON нөөцийг боловсруулах, өөрчлөх зааварчилгаагаар шошголоход ашиглаж болно. дарна уу энд JSON Hyper-Schema-ийн талаар илүү ихийг мэдэхийг хүсвэл.

JSON схемийн цөм:

Энэ нь JSON баримт бичгүүдийг шошголох, баталгаажуулах дүрмийн багц юм. 

JSON схемийн цөм:

  • Таны одоо байгаа өгөгдлийн форматыг тайлбарлана. 
  • Автомат туршилтанд ашиглаж болох өгөгдлийг баталгаажуулдаг. 
  • Үйлчлүүлэгчийн өгсөн мэдээллийн үнэн зөвийг баталгаажуулах.  
  • Хүмүүс болон машинуудын аль алинд нь уншигдахуйц баримт бичгийг өгдөг. 

JSON схемийн баталгаажуулалт:

JSON схем дээр суурилсан баталгаажуулалт нь жишээ өгөгдлийн бүтцэд хязгаарлалт тавьдаг. Үүний дараа баталгаагүй аливаа түлхүүр үгс мэдээлэл, тухайлбал тайлбарлах мета өгөгдөл болон ашиглалтын заалтууд нь зарласан бүх хязгаарлалтыг хангасан жишээний байрлалд нэмэгддэг. 

Newtonsoft-ийн JSON Schema Validator хэрэгсэл нь та хөтөч дээрээ шууд үнэгүй ашиглах боломжтой хэрэгсэл юм. Та энэ хэрэгслийг ашиглан JSON схемийнхээ бүтцийг шалгах боломжтой. Энэ хуудас нь таныг эхлүүлэхэд зориулсан хяналт, тайлбарыг агуулна. Ингэснээр өөрийн JSON бүтцийг хэрхэн сайжруулахыг хялбархан харж болно.

Бид JSON Schema Validation Tool ашиглан JSON объектоо шалгаж болно:

JSON Баталгаажуулагч алдаагүй

Дээрх зурагт үзүүлсэн шиг бид насны баталгаажуулалт (хамгийн бага = 20 ба дээд тал нь = 40) байна. Алдаа олдсонгүй.

JSON Баталгаажуулагч алдаатай

Насны баталгаажуулалтыг буруу оруулсан бол алдаа гарсан.

JSON схемийг бий болгох

Бид юу ярьж байгааг харахын тулд JSON схемийн жишээг харцгаая. Бүтээгдэхүүний каталогийг дүрсэлсэн үндсэн JSON объект нь дараах байдалтай байна.

JSON жишээ

Түүний JSON схемийг дараах байдлаар бичиж болно.

JSON схемийн үр дүн

JSON схем нь JSON баримт бөгөөд тэр баримт нь объект байх ёстой. Түлхүүр үгс нь JSON схемээр тодорхойлсон объектын гишүүд/атрибутууд юм. JSON схем дэх "түлхүүр үгс" нь объект дахь түлхүүр/утга хослолын "түлхүүр" хэсгийг хэлнэ. JSON схемийг бичих нь ихэнх тохиолдолд тухайн "түлхүүр үг"-ийг объект доторх утгад буулгах явдал юм. 

Бидний жишээн дээр ашигласан түлхүүр үгсийг нарийвчлан авч үзье. 

Нөөцийн схемд тохирох JSON схемийг энэ атрибутаар бичнэ. Энэхүү схемийг "V4 стандартын ноорогуудын дагуу бичсэн болно.$ схем” түлхүүр үг. Энэ нь таны схемийг хуучин хувилбарт тохирох эсвэл тохирохгүй байж болох одоогийн хувилбар руу буцаахаас сэргийлнэ.

"нэр"Болон"танилцуулга” түлхүүр үгс нь зөвхөн тайлбар юм; тэд шалгаж байгаа өгөгдөлд ямар нэгэн хязгаарлалт тавьдаггүй. Эдгээр хоёр түлхүүр үг нь схемийн зорилгыг тодорхойлдог: энэ нь бүтээгдэхүүнийг тодорхойлдог.

"төрөл” түлхүүр үг нь манай JSON өгөгдлийн эхний хилийн нөхцлийг тодорхойлдог; Энэ нь JSON объект байх ёстой. Хэрэв бид бүх схемд төрлийг тохируулахгүй бол код ажиллахгүй. Зарим нийтлэг төрлүүд нь "тоо" "Боолийн" "бүхэл тоо" "null" "объект" "массив" "мөр" юм.

 

JSON схемийг дараах номын сангууд дэмждэг:

 

хэл

Номын сан

C

WJElement

Python

jschon

PHP

Json Schema-ийн тайлбар

JavaScript

ajv

Go

гожсонсхема

Котлин байна

Медиа баталгаажуулагч

Ruby

JSONSchemer

JSON (Синтакс)

JSON-ийн үндсэн синтаксийг товчхон харцгаая. JSON синтакс нь дараах элементүүдийг агуулсан JavaScript синтаксийн дэд хэсэг юм:

  • Өгөгдлийг илэрхийлэх нэр/утга хосыг ашигладаг.
  • Объектуудыг буржгар хаалтанд байрлуулж, нэр тус бүрийг ':' (хос цэг) тэмдэглэж, утгын хосыг "," (таслал)-аар тусгаарлана.
  • Утгыг “,” (таслал)-аар тусгаарлаж, массивуудыг дөрвөлжин хаалтанд хийнэ.
JSON синтакс жишээ

Дараах хоёр өгөгдлийн бүтцийг JSON дэмждэг:

  • Утгауудын эрэмбэлэгдсэн жагсаалт: Энэ нь массив, жагсаалт эсвэл вектор байж болно.
  • Нэр/утга хосын цуглуулга: Энэ өгөгдлийн бүтцийг өөр өөр компьютерийн хэлүүд дэмждэг.

 

JSON (объект)

JSON схем нь өөр JSON объектын төрөл, бүтцийг тодорхойлсон JSON объект юм. JavaScript объектын илэрхийлэл нь JavaScript ажиллах орчин дахь JSON объектыг төлөөлж болно. Хүчинтэй схемийн объектуудын зарим жишээ нь дараах байдалтай байна.

Схем

Matches

{}

ямар ч үнэ цэнэ

{төрөл: 'объект'}

JavaScript объект

{ төрөл: 'тоо' }

JavaScript дугаар

{ төрөл: 'мөр'}

JavaScript мөр

Жишээ нь:

Хоосон шинэ объект хийх:

var JSON_Obj = {};

Шинэ объект үүсгэх:

var JSON_Obj = шинэ объект()

JSON (XML-тэй харьцуулах)

JSON болон XML нь хэлнээс хамааралгүй, хүн унших боломжтой формат юм. Бодит нөхцөл байдалд тэд хоёуланг нь үүсгэж, уншиж, тайлж чаддаг. Дараах шалгуурт үндэслэн бид JSON-г XML-тэй харьцуулж болно.

Харьцуулалт

XML нь JSON-ээс илүү төвөгтэй байдаг тул програмистууд JSON-г илүүд үздэг.

Массив ашиглах

XML нь бүтэцлэгдсэн өгөгдлийг илэрхийлэхэд ашиглагддаг; Гэсэн хэдий ч XML нь массивыг дэмждэггүй ч JSON дэмждэг.

Парсинг хийх

JSON нь JavaScript-ийн үнэлгээний функцийг ашиглан тайлбарладаг. eval нь JSON-тэй ашиглах үед тайлбарласан объектыг буцаана.

 

Жишээ нь:

 

JSON

XML

{

   "Компани": Феррари,

   "нэр": "GTS",

   "Үнэ": 404000

}

 

 

Феррари 

 

GTS 

 

404000 

 

JSON схемийн давуу тал

JSON нь хүн болон машин уншихад тохиромжтой хэлийг өөрчлөхөд зориулагдсан. Гэсэн хэдий ч зарим нэг нарийн тохируулга хийхгүйгээр аль нь ч байж чадахгүй. JSON схем нь JSON-ийг машин болон хүмүүст илүү ойлгомжтой болгох давуу талтай.

JSON схемийг ашиглах нь үйлчлүүлэгчийн хэд хэдэн шинэчлэлт хийх хэрэгцээг арилгадаг. Нийтлэг HTML кодын жагсаалтыг гаргаж, дараа нь үйлчлүүлэгчийн тал дээр хэрэгжүүлэх нь үйлчлүүлэгчийн талбарыг бүтээх ердийн боловч буруу арга юм. API програмууд. Гэсэн хэдий ч энэ нь хамгийн сайн стратеги биш бөгөөд учир нь сервер талын өөрчлөлтүүд нь зарим функцийг буруу ажиллуулахад хүргэж болзошгүй юм.

JSON Schema-ийн гол давуу тал нь олон төрлийн програмчлалын хэлтэй нийцтэй байхаас гадна баталгаажуулалтын нарийвчлал, тууштай байдал юм.

JSON схем нь өргөн хүрээний хөтчүүдийг дэмждэг үйлдлийн системүүд, тиймээс JSON дээр бичигдсэн програмуудыг бүгдийг нь хөтөчтэй нийцүүлэхийн тулд нэг их хүчин чармайлт шаарддаггүй. Хөгжүүлэх явцад хөгжүүлэгчид хэд хэдэн хөтчүүдийг авч үздэг ч JSON аль хэдийн боломжуудтай байдаг.

JSON бол аудио, видео болон бусад медиа зэрэг ямар ч хэмжээтэй өгөгдлийг хуваалцах хамгийн үр дүнтэй арга юм. Энэ нь JSON нь өгөгдлийг массив хэлбэрээр хадгалдагтай холбоотой бөгөөд энэ нь өгөгдөл дамжуулахад хялбар болгодог. Үүний үр дүнд JSON нь онлайн API болон хөгжүүлэлтийн хувьд хамгийн сайн файлын формат юм.

API-ууд улам бүр түгээмэл болж байгаа тул API баталгаажуулалт, туршилт нь улам бүр чухал болно гэж үзэх нь логик юм. Цаг хугацаа өнгөрөх тусам JSON нь тийм ч хялбар биш байх болно гэж хүлээх нь бодитой юм. Энэ нь таны өгөгдлийн схемтэй байх нь цаг хугацаа өнгөрөх тусам улам бүр чухал байх болно гэсэн үг юм. JSON нь API-тай ажиллах стандарт файлын формат тул JSON схем нь API-тай ажиллахад тохиромжтой.

Коболдын захидал: HTML-д суурилсан имэйлийн фишинг халдлага

Коболдын захидал: HTML-д суурилсан имэйлийн фишинг халдлага

Коболд захидал: HTML-д суурилсан цахим шуудангийн фишинг довтолгоонууд 31 оны 2024-р сарын XNUMX-нд Luta Security компани Коболд захидал хэмээх шинэ боловсронгуй фишинг векторын талаар гэрэл гэгээ оруулсан нийтлэлийг нийтлэв.

Цааш унших "