Sobes.tech
Junior

Co je to JSON schéma?

sobes.tech AI

Odpověď od AI

Schéma JSON (JSON Schema) je lexikální standard založený na JSONu pro popis struktury a omezení dat ve formátu JSON. Umožňuje validaci, popis a dokumentaci JSON dat.

Hlavní cíle:

  • Validace: Kontrola, zda JSON instance odpovídá určité struktuře.
  • Dokumentace: Popis formátu JSON dat.
  • Interakce: Výměna metadat mezi systémy.

Klíčové komponenty JSON schématu:

  • Datové typy: string, number, integer, boolean, object, array, null.
  • Klíčová slova pro omezení:
    • type: Očekávaný typ dat.
    • properties: Popis vlastností objektu. Každá vlastnost má své vlastní podschéma.
    • required: Seznam povinných vlastností.
    • items: Popis prvků pole.
    • minLength/maxLength: Omezení délky řetězců.
    • minimum/maximum: Omezení pro čísla.
    • pattern: Regulární výraz pro řetězce.
    • enum: Seznam povolených hodnot.
    • allOf/anyOf/oneOf/not: Logické kombinace schémat.
  • Klíčová slova pro metadata:
    • title: Krátký název schématu.
    • description: Podrobný popis schématu.
    • default: Výchozí hodnota.

Příklad JSON schématu:

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "description": "Unikátní identifikátor uživatele"
    },
    "username": {
      "type": "string",
      "minLength": 3
    },
    "isActive": {
      "type": "boolean",
      "default": true
    }
  },
  "required": [
    "id",
    "username"
  ]
}

Příklad platných JSON dat podle tohoto schématu:

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

Příklad neplatných JSON dat podle tohoto schématu:

{
  "id": "abc" // Špatný typ
  // Chybí povinné pole "username"
}

Použití JSON schématu v QA automatizaci:

  • Validace odpovědí API: Kontrola, zda JSON odpovědi odpovídají formátu.
  • Validace požadavků: Kontrola příchozích JSON dat před jejich zpracováním.
  • Generování testovacích dat: Použití schématu k tvorbě platných (nebo neplatných) příkladů.
  • Dokumentace: Automaticky udržovaná dokumentace API.

Existují knihovny pro práci se schématy JSON v různých programovacích jazycích (například jsonschema pro Python, json-schema-validator pro Javu).