Sobes.tech
Junior

რა არის JSON სქემა?

sobes.tech AI

პასუხი AI-სგან

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

ძირითადი მიზნები:

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

JSON სქემის ძირითადი კომპონენტები:

  • მონაცემთა ტიპები: string, number, integer, boolean, object, array, null.
  • შეზღუდვების ძირითადი სიტყვები:
    • type: მოსალოდნელი მონაცემთა ტიპი.
    • properties: ობიექტის თვისებების აღწერა. თითოეული თვისება აქვს თავისი ქვესქემა.
    • required: სია აუცილებელი თვისებების ობიექტისთვის.
    • items: მასივის ელემენტების აღწერა.
    • minLength/maxLength: სიგრძის შეზღუდვები სტრიქონებისთვის.
    • minimum/maximum: რიცხვებისთვის შეზღუდვები.
    • pattern: რეგულარული გამოთქმა სტრიქონისთვის.
    • enum: დაშვებული მნიშვნელობების სია.
    • allOf/anyOf/oneOf/not: ლოგიკური კომბინაციები სქემებისთვის.
  • მეტადატების ძირითადი სიტყვები:
    • title: სქემის მოკლე დასახელება.
    • description: სქემის დეტალური აღწერა.
    • default: საწყისი მნიშვნელობა.

JSON სქემის მაგალითი:

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "description": "მომხმარებლის უნიკალური იდენტიფიკატორი"
    },
    "username": {
      "type": "string",
      "minLength": 3
    },
    "isActive": {
      "type": "boolean",
      "default": true
    }
  },
  "required": [
    "id",
    "username"
  ]
}

სქემის შესაბამისი ვალიდური JSON მონაცემის მაგალითი:

{
  "id": 123,
  "username": "testuser",
  "isActive": false
}

სქემის შესაბამისი არავალიდური JSON მონაცემის მაგალითი:

{
  "id": "abc" // არავალიდური ტიპი
  // აუცილებელი ველი "username" აკლია
}

JSON სქემის გამოყენება QA ავტომატიზაციაში:

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

არსებობს ბიბლიოთეკები სხვადასხვა პროგრამირების ენებზე JSON სქემებთან მუშაობისთვის (მაგალითად, jsonschema Python-ისთვის, json-schema-validator Java-ისთვის).