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 үчүн).