Odborná definice
Odborná definice
JSON Schema je deklaratívny jazyk na popis struktury, typů, povolených hodnot a validačních omezení JSON inštancií. Klíčové slova definují objekty, vlastnosti, povinné pole, pole položek, číselné rozsahy, regulárne výrazy a kompozíci subschém. Dialekt se identifikuje přes $schema a opakovatelné definice přes $defs a $ref. V AI aplikacích schéma formalizuje výstup nástroje, payload API, konfiguraci pipeline nebo očekávaný strukturovaný výsledek modelu. Validná instance však nemusí být vecne správná a podpora jednotlivých draftů se liší mezi validátormi.
Srozumitelné vysvětlení
Srozumitelné vysvětlení
Aplikace očekává, že model vrátí objekt s názvem produktu, cenou jako nezáporným číslem a zoznamom kategorií. JSON Schema přesně zapíše, které pole musí existovat, jaký mají typ a jaké omezení platí. Validátor potom odmietne chýbajúcu cenu nebo text místo čísla ještě před tím, jak se data dostanou do databáze. Schéma však nezistí, že model uviedol cenu 19,90, ačkoli správná je 29,90. Chrání formálny kontrakt, ne pravdivost obsahu. Verze schémata musí být kompatibilná s používaným validátorom.
Časté otázky
Časté otázky
Co dělá klúč required?
V objektu vymenuje vlastnosti, které musí být prítomné. Neurčuje jejich typ, ten se definuje v properties nebo odkazovanej schéme. Pole může být povinné a zároveň povolovat null, pokud to typ výslovne pripúšťa.
Jako zakázat neočakávané pole?
Používá se additionalproperties: false, případně novější unevaluatedproperties podle kompozíce schémata. Prísne nastavení chrání kontrakt, ale komplikuje zpětnou kompatibilitu při pridávaní nových polí.
Co je rozdíl mezi oneof a anyof?
anyof vyžaduje splnění aspoň jedné subschémy. oneof vyžaduje přesně jednu, takže instance vyhovujúca dvom vetvám selže. Při prekrývajúcich se vetvách může oneof přinést prekvapivé chyby a vyšší validační náklady.
Jak se schéma verzuje?
Samotný dialekt označuje $schema, identitu dokumentu může označit $id. Aplikačné verze se riadia zvlášť přes URL, repozitár nebo pole verze. Změna povinného pola je zpravidla nekompatibilná a vyžaduje migraci klientů.
Zaručí schema-constrained generation validný JSON?
Pokud implementace vynucuje gramatiku odvodenou ze podporovanej podmnožiny schémata, může výrazně zvýšit syntaktickou a štrukturálnu validitu. Stále je třeba serverový validátor, kontrolu limitů a vecnou validaci hodnot.
Související pojmy
Související pojmy
Zdroje a redakční stopa
Zdroje a redakční stopa
- JSON Schema, Specification JSON Schema, Glossary
Definícia je autorská odborná syntéza. Pri právnych a regulačných rozhodnutiach má prednosť aktuálne oficiálne znenie predpisu a posúdenie konkrétneho prípadu.
