GenerálásJSON-séma (draft-07) készítése példa-JSON adatokból, vagy érvényesítés bármely JSON-dokumentumra bármely séma ellen, pontos hibaüzenetekkel.
További eszközök: JSON-formázó | JSONPath-kiértékelő | Összes JSON-eszköz.
Minden feldolgozás helyben történik a böngészőben — semmi nem kerül feltöltésre.
Séma generálásaAdatok érvényesítése
Egy JSON-objektum (vagy objektumok tömbje — a tulajdonságok egyesülnek, a required uniót képez) beilleszthető. A séma kikövetkeztetésre kerül; ha szigorúbb szabályok kellenek, a séma utólag szerkeszthető.
A $schema fejléc hozzáadása — előre beszúrja a draft-07 deklarációt, hogy a validátorok tudják, melyik dialektust használja a séma. Példa: "$schema": "http://json-schema.org/draft-07/schema#"
A required kulcsok megjelölése — a mintajson minden kulcsát hozzáadja a kötelező elemek listájához. Példa: "required": ["name", "price", "inStock"]
Kis értékkészletek összevonása enum-ba — ha egy skalár tömbben 2–8 egyedi érték van, az elemtípus enumra szűkül. Példa: "tags": ["sale", "new", "sale"] → "tags": {"type": "array", "items": {"type": "string", "enum": ["sale", "new"]}}
Gyakori karakterláncformátumok felismerése — felismeri az ISO-dátumokat, dátum-időket, UUID-kat, e-mail-címeket és URL-eket, és hozzáadja a format mezőt. Példa: "createdAt": {"type": "string", "format": "date-time"}
A sémák draft-07 szerint értelmeződnek. Az érvényesítés támogatja a type, enum, required, properties, patternProperties, additionalProperties, items, numerikus határokat, karakterhossz- és mintaszabályokat, tömböket, valamint az allOf/anyOf/oneOf/not kulcsszavakat.
Bemenet — példa-JSON
Generált séma (szerkeszthető)
Séma (draft-07)
Érvényesítendő adatok
Eredmény
Generátor megjegyzések: az egész számok "integer" típust kapnak; a karakterláncok csak akkor kapnak format mezőt, ha a formátum-jelölőnégyzet be van kapcsolva;
egy tömbben lévő több JSON-objektum egyesítésre kerül (az azonos típusú kulcsok az első típust tartják meg, a vegyes típusok type tömbbé válnak;
a required az összes minta uniója). Az Adatok érvényesítése művelettel minden sikertelen szabály a JSON-mutató útvonalával (pl. .items[0].price) jelentésre kerül, így az érintett értékhez közvetlenül el lehet jutni.
JSON-séma — szerződés, nem típusrendszer
A JSON-séma leírja, hogyan kell kinéznie egy érvényes dokumentumnak: mely kulcsok kötelezők, milyen típusúak az értékek, milyen tartományok és minták érvényesek. Az érvényesítés az adatot ehhez a szerződéshez méri; semmit nem alakít át. A sémák draft szerint verziózottak — ez az oldal draft-07 sémát generál, a legszélesebb körben támogatott dialektust; a 2020-12 a jelenlegi.
A generált séma mintákból készült becslés — a required, enum és format értékeket kézzel kell szigorítani.
🔷 JSON-eszközök
JSON-sémák generálása példákból, és JSON-adatok érvényesítése draft-07 sémák ellen.