JSON & XML

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

  • ტექსტური
    • JSON
    • XML
    • HTML
  • ფაილი
  • ბინარული ინფორმაცია
  • ფორმის ინფორმაცია

თითოეულ მეთოდს თავისი გამოყენების სწორი დრო და ადგილი აქვს, თუმცა ყველაზე ფართოდ მაინც 2 მეთოდი გამოირჩევა: JSON და XML.

JSON

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

JSON-ის მაგალითი:

JSON
{
  "name": "John",
  "lastName": "Doe",
  "age": 33,
  "hobbies": ["fishing", "hiking"]
}

ძალიან ჰგავს ჯავასკრიპტის ობიექტს, არა? თუმცა გაითვალისწინეთ, ეს არის უბრალო ტექსტი, რომელიც შემდეგ პროგრამამ უნდა გადაამუშაოს სათანადო მონაცემის სტრუქტურად.

დამხმარე ობიექტი JSON

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

JSON-ს გააჩნია ორი მეთოდი:

  • stringify - მეთოდი გამოიყენება მონაცემის JSON სტრინგის ფორმატში გადასატანად.
  • parse - მეთოდი გამოიყენება JSON სტრინგის ჯავასკრიპტის ნეითივ მონაცემის სტრუქტურაში გადასაყვანად (ობიექტი ან მასივი).
JS
const user = {
  name: 'john',
  lastName: 'doe',
};

const stringOfUser = JSON.stringify(user);
const objectFromString = JSON.parse(stringOfUser);

console.log(user, typeof user); // { name: 'john', lastName: 'doe' } object
console.log(stringOfUser, typeof stringOfUser); // {"name":"john","lastName":"doe"} string
console.log(objectFromString, typeof objectFromString); // { name: 'john', lastName: 'doe' } object

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

XML

XML (Extensible Markup Language) ეს არის მარკირების ენა, როგორც HTML, მაგრამ წინასაწრ აღწერილი თაგების გარეშე. XML-ში თაგებს თვითონ დეველოპერები ქმნიან და შემდეგ იყენებენ ინფორმაციის წასაკითხად / ჩასაწერად. იგი ზუსტად იმავე მიზანს ემსახურება, რასაც JSON - ინფორმაციის აღწერასა და გაზიარებას სტანდარტული ფორმით.

XML-ზე ბევრი ენა არის დაშენებული: XHTML, MathML, SVG, RSS, და RDF. ასევე შეგიძლიათ თქვენი XML-ზე თქვენი ენაც მოიგონოთ!

XML-ის სტრუქტურა მარტივია, იგი პირდაპირი გაგებით თეგებია, როგორც HTML-ში. XML-ის თავსართში საჭიროა თეგის გაწერა, რომელიც აღწერს რა XML-ის ვერსიას ეყრდნობა დოკუმენტი და როგორი ენკოდირება იქნება გამოყენებული.

XML
<?xml version="1.0" encoding="UTF-8"?>
<user>
  <name>john</name>
  <lastName>doe</lastName>
</user>

რომელი ჯობია გამოვიყენოთ?

კონკრეტული ტექნოლოგიები და ამოცანები კონკრეტუ ფორმატებს მოითხოვენ. ინფორმაციის მიმოცვლის დროს, REST API-ში ჯობია გამოვიყენოთ JSON. JSON შედარებით ახალი და უფრო მარტივი გამოსაყენებელი არის ვიდრე XML. ადრე, სანამ JSON-ს მოიგონებდნენ, აპლიკაციათა დიდი ნაწილი XML-ით ხელმძღვანელობდა. დღემდეც არსებობს უთვალავი ძველი (Legacy) აპლიკაციები, სადაც XML ისევ გამოიყენება. მიუხედავად ამისა, XML არ გეგონოთ დინოზავრების ტექნოლოგია! იგი ფართოდ გამოიყენება სპეციფიკურ შემთხვევებში.

XML-ს გამოყენება კარგია სქემებისთვის და სტრუქტურებისთვის. საძიებო სისტემებისა და SEO-სთვის იგი აქტიურად გამოიყენება. მაგალითისთვის, შეგიძლიათ გახსნათ ნებისმიერი ვებგვერდი და დეველოპერის ხელსაწყოებით მოძებნოთო მისი sitemap.xml ფაილი, რომელიც აღწერს საიტის "რუქას".

sitemap ეს არის ფაილი სადაც აღწერილია ინფორმაცია ვებგვერდის სხვადასხვა დეტალებზე, როგორიცა:

  • გვერდი
  • ვიდეო
  • ფაილი

შეგიძლიათ ამავე ვებგვერდზე იხილოთ sitemap-ის ფაილი.

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

შეჯაემბა

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


კონტრიბუტორის სურათიკონტრიბუტორის სურათი
გზამკლევი