Junior
Ի՞նչ է JSON սխեման։
sobes.tech AI
Պատասխան AI-ից
JSON շեմը (JSON Schema) — դա 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-ի համար):