JSON სქემის სახელმძღვანელო

JSON სქემა

სანამ JSON სქემაში გადავალთ, მნიშვნელოვანია ვიცოდეთ განსხვავება JSON-სა და JSON Schema-ს შორის.

JSON

JSON არის JavaScript Object Notation-ის შემოკლება და ეს არის ენიდან დამოუკიდებელი მონაცემთა ფორმატი, რომელსაც API იყენებს მოთხოვნებისა და პასუხების გასაგზავნად. JSON მარტივია წასაკითხად და დასაწერად როგორც ადამიანებისთვის, ასევე მანქანებისთვის. JSON არის ტექსტზე დაფუძნებული ფორმატი, რომელიც არ არის დაკავშირებული ენასთან (ენა დამოუკიდებელია).

JSON სქემა

JSON Schema არის სასარგებლო ინსტრუმენტი JSON მონაცემთა სტრუქტურის შესამოწმებლად. JSON-ის სტრუქტურის დასაზუსტებლად გამოიყენეთ JSON-ზე დაფუძნებული ფორმატი. მისი მიზანია უზრუნველყოს JSON მონაცემების მიღება. ჩვენი აპლიკაციის JSON მონაცემების კონვენცია შეიძლება განისაზღვროს სქემის გამოყენებით.

JSON სქემის სპეციფიკაციის სამი ძირითადი განყოფილებაა:

JSON ჰიპერ-სქემა:

JSON Hyper-Schema არის JSON სქემის ენა, რომელიც შეიძლება გამოყენებულ იქნას JSON დოკუმენტების ეტიკეტირების მიზნით ჰიპერბმულებით და ინსტრუქციებით გარე JSON რესურსების დამუშავებისა და შეცვლისთვის ტექსტზე დაფუძნებული გარემოში, როგორიცაა HTTP. დააწკაპუნეთ აქ დაწკაპუნებით რომ შეიტყოთ მეტი JSON Hyper-Schema-ს შესახებ.

JSON სქემის ბირთვი:

ეს არის წესების ნაკრები JSON დოკუმენტების ეტიკეტირებისა და დამოწმებისთვის. 

JSON სქემის ბირთვი:

  • აღწერს მონაცემთა ფორმატს, რომელიც ამჟამად გაქვთ. 
  • ამოწმებს მონაცემებს, რომლებიც შეიძლება გამოყენებულ იქნას ავტომატურ ტესტირებაში. 
  • კლიენტების მიერ მოწოდებული მონაცემების სიზუსტის უზრუნველყოფა.  
  • გთავაზობთ წაკითხვადი დოკუმენტაციას როგორც ადამიანებისთვის, ასევე მანქანებისთვის. 

JSON სქემის დადასტურება:

JSON სქემაზე დაფუძნებული ვალიდაცია აწესებს შეზღუდვებს ინსტანციის მონაცემების სტრუქტურაზე. ამის შემდეგ, ნებისმიერი საკვანძო სიტყვა, რომელსაც არ აქვს მტკიცება ინფორმაცია, როგორიცაა აღწერითი მეტამონაცემები და გამოყენების ჩვენებები, ემატება ინსტანციის პოზიციას, რომელიც აკმაყოფილებს ყველა დეკლარირებულ შეზღუდვას. 

Newtonsoft-ის JSON Schema Validator ინსტრუმენტი არის ინსტრუმენტი, რომელიც შეგიძლიათ გამოიყენოთ პირდაპირ თქვენს ბრაუზერში, უფასოდ. თქვენ შეგიძლიათ გამოიყენოთ ეს ინსტრუმენტი თქვენი JSON სქემის სტრუქტურის შესამოწმებლად. ეს გვერდი შეიცავს კონტროლს და ახსნა-განმარტებებს, რათა დაიწყოთ. ამ გზით, ადვილია იმის დანახვა, თუ როგორ გააუმჯობესოთ თქვენი JSON სტრუქტურა.

ჩვენ შეგვიძლია შევამოწმოთ ჩვენი JSON ობიექტი JSON Schema Validation Tool-ის გამოყენებით:

JSON Validator შეცდომის გარეშე

ჩვენ გვაქვს ასაკობრივი დადასტურება (მინიმუმი = 20 და მაქსიმალური = 40), როგორც ნაჩვენებია ზემოთ მოცემულ ფიგურაში. შეცდომები არ იყო ნაპოვნი.

JSON Validator შეცდომით

ის აჩვენებს შეცდომას, თუ ასაკობრივი ვალიდაცია არასწორად იყო შეყვანილი.

JSON სქემის შექმნა

მოდით შევხედოთ JSON Schema-ს მაგალითს, რომ ნახოთ რაზე ვსაუბრობთ. ძირითადი JSON ობიექტი, რომელიც აღწერს პროდუქტის კატალოგს, შემდეგია:

JSON მაგალითი

მისი JSON სქემა შეიძლება დაიწეროს შემდეგნაირად:

JSON სქემის შედეგი

JSON სქემა არის JSON დოკუმენტი და ეს დოკუმენტი უნდა იყოს ობიექტი. საკვანძო სიტყვები არის JSON სქემის მიერ მითითებული ობიექტის წევრები/ატრიბუტები. JSON სქემაში „საკვანძო სიტყვები“ ეხება ობიექტში გასაღების/მნიშვნელობის კომბინაციის „გასაღების“ ნაწილს. JSON სქემის დაწერა გულისხმობს კონკრეტული „საკვანძო სიტყვის“ დახატვას ობიექტში არსებულ მნიშვნელობაზე უმეტესწილად. 

მოდით უფრო ახლოს მივხედოთ საკვანძო სიტყვებს, რომლებიც ჩვენს მაგალითში გამოვიყენეთ: 

JSON სქემა, რომელსაც შეესაბამება რესურსის სქემა, ჩამოწერილია ამ ატრიბუტით. ეს სქემა დაწერილია drafts v4 სტანდარტის მიხედვით, როგორც მითითებულია "$ სქემა”საკვანძო სიტყვა. ეს ხელს უშლის თქვენი სქემის მიმდინარე ვერსიაზე დაბრუნებას, რომელიც შეიძლება იყოს ან არ იყოს თავსებადი ძველთან.

"სათაური"და"აღწერა” საკვანძო სიტყვები მხოლოდ განმარტებითი ხასიათისაა; ისინი არ აწესებენ რაიმე შეზღუდვას შემოწმებულ მონაცემებზე. ეს ორი საკვანძო სიტყვა აღწერს სქემის მიზანს: ის აღწერს პროდუქტს.

"ტიპი” საკვანძო სიტყვა განსაზღვრავს ჩვენი JSON მონაცემების პირველ სასაზღვრო მდგომარეობას; ეს უნდა იყოს JSON ობიექტი. თუ ჩვენ არ დავაყენებთ ტიპს ყველა სქემისთვის, კოდი არ იმუშავებს. ზოგიერთი გავრცელებული ტიპია "რიცხვი", "ლოგიკური", "მთლიანი", "ნული", "ობიექტი", "მასივი" "სტრიქონი".

 

JSON Schema მხარდაჭერილია შემდეგი ბიბლიოთეკებით:

 

ენა

ბიბლიოთეკა

C

WJElement

Python

jschon

PHP

Opis Json სქემა

JavaScript

ajv

Go

გოჯსონსქემა

კოტლინი

მედეია-ვალიდიატორი

Ruby

JSONSchemer

JSON (სინტაქსი)

მოდით მოკლედ გადავხედოთ JSON-ის ფუნდამენტურ სინტაქსს. JSON სინტაქსი არის JavaScript სინტაქსის ქვეჯგუფი, რომელიც მოიცავს შემდეგ ელემენტებს:

  • სახელი/მნიშვნელობის წყვილები გამოიყენება, რომლებიც წარმოადგენენ მონაცემებს.
  • ობიექტები მოთავსებულია ხვეული ბრეკეტებით და თითოეულ სახელს წინ უძღვის ':' (წერტილი), მნიშვნელობების წყვილებით გამოყოფილი "," (მძიმით).
  • მნიშვნელობები გამოყოფილია “,” (მძიმით) და მასივები ინახება კვადრატულ ფრჩხილებში.
JSON სინტაქსის მაგალითი

შემდეგი ორი მონაცემთა სტრუქტურა მხარს უჭერს JSON:

  • მნიშვნელობების შეკვეთილი სია: ეს შეიძლება იყოს მასივი, სია ან ვექტორი.
  • სახელის/მნიშვნელობის წყვილების კოლექცია: სხვადასხვა კომპიუტერული ენა მხარს უჭერს ამ მონაცემთა სტრუქტურას.

 

JSON (ობიექტი)

JSON სქემა არის JSON ობიექტი, რომელიც ასახავს სხვა JSON ობიექტის ტიპსა და სტრუქტურას. JavaScript ობიექტის გამოხატულება შეიძლება წარმოადგენდეს JSON ობიექტს JavaScript გაშვების გარემოში. მოქმედი სქემის ობიექტების რამდენიმე მაგალითი შემდეგია:

Schema

მატჩები

{}

ნებისმიერი ღირებულება

{type: 'ობიექტი' }

JavaScript ობიექტი

{type: 'ნომერი' }

JavaScript ნომერი

{type: 'string'}

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

{

   "კომპანია": Ferrari,

   "სახელი": "GTS",

   "ფასი": 404000

}

 

 

ფერარი 

 

GTS 

 

404000 

 

JSON სქემის უპირატესობები

JSON შექმნილია ადამიანისა და მანქანით წაკითხვადი ენაზე გადახრის მიზნით. თუმცა, გარკვეული დაზუსტების გარეშე, ეს არც შეიძლება იყოს. JSON Schema-ს აქვს უპირატესობა, რომ JSON უფრო გასაგები გახადოს როგორც მანქანებისთვის, ასევე ადამიანებისთვის.

JSON Schema-ს გამოყენება ასევე ხსნის კლიენტის მხრიდან რამდენიმე განახლების საჭიროებას. ჩვეულებრივი HTML კოდების სიის შედგენა და შემდეგ მათი დანერგვა კლიენტის მხარეს არის ტიპიური, მაგრამ არაზუსტი მეთოდი კლიენტის მხარეს შესაქმნელად. API აპლიკაციები. თუმცა, ეს არ არის საუკეთესო სტრატეგია, რადგან სერვერის მხარეს ცვლილებებმა შეიძლება გამოიწვიოს გარკვეული ფუნქციების გაუმართაობა.

JSON Schema-ს მთავარი უპირატესობა არის მისი თავსებადობა პროგრამირების მრავალფეროვან ენასთან, ასევე ვალიდაციის სიზუსტე და თანმიმდევრულობა.

JSON სქემა მხარს უჭერს ბრაუზერების ფართო სპექტრს და ოპერატიული სისტემა, შესაბამისად, JSON-ში დაწერილი აპები დიდ ძალისხმევას არ მოითხოვს, რათა ისინი ყველა ბრაუზერში იყოს თავსებადი. განვითარების დროს დეველოპერები განიხილავენ რამდენიმე ბრაუზერს, თუმცა JSON-ს უკვე აქვს შესაძლებლობები.

JSON არის ყველაზე ეფექტური გზა ნებისმიერი ზომის მონაცემების გასაზიარებლად, მათ შორის აუდიო, ვიდეო და სხვა მედია. ეს გამოწვეულია იმით, რომ JSON ინახავს მონაცემებს მასივებში, რაც აადვილებს მონაცემთა გადაცემას. შედეგად, JSON არის საუკეთესო ფაილის ფორმატი ონლაინ API-ებისთვის და განვითარებისთვის.

რაც უფრო გავრცელდება API-ები, ლოგიკურია ვივარაუდოთ, რომ API ვალიდაცია და ტესტირება სულ უფრო მნიშვნელოვანი გახდება. ასევე რეალისტურია იმის მოლოდინი, რომ JSON არ იქნება ბევრად უფრო მარტივი, რაც დრო გადის. ეს გულისხმობს, რომ თქვენი მონაცემებისთვის სქემის არსებობა დროთა განმავლობაში უფრო კრიტიკული გახდება. იმის გამო, რომ JSON არის სტანდარტული ფაილის ფორმატი API-ებთან მუშაობისთვის, JSON Schema კარგი შემცვლელია მათთვის, ვინც მუშაობს API-ებთან.

TOR ცენზურის გვერდის ავლით

ინტერნეტ ცენზურის გვერდის ავლით TOR-ით

ინტერნეტ ცენზურის გვერდის ავლით TOR-ით შესავალი მსოფლიოში, სადაც ინფორმაციაზე წვდომა სულ უფრო და უფრო რეგულირდება, Tor ქსელის მსგავსი ინსტრუმენტები გადამწყვეტი გახდა.

Წაიკითხე მეტი "
Kobold Letters: HTML-ზე დაფუძნებული ელ.ფოსტის ფიშინგ შეტევები

Kobold Letters: HTML-ზე დაფუძნებული ელ.ფოსტის ფიშინგ შეტევები

Kobold Letters: HTML-ზე დაფუძნებული ელ.ფოსტის ფიშინგის შეტევები 31 წლის 2024 მარტს, Luta Security-მ გამოაქვეყნა სტატია, რომელიც ნათელს ჰფენს ახალ დახვეწილ ფიშინგ ვექტორს, Kobold Letters.

Წაიკითხე მეტი "