Ուղեցույց

Ինչպես ստեղծել JSON Schema նմուշային JSON տվյալներից

Տեղադրեք ճիշտ ձևավորված JSON նմուշը, ցանկության դեպքում ավելացրեք վերնագիր և գործարկեք ստեղծումը՝ JSON Schema ներկայացում ստանալու համար։ Արդյունքը հիմնվում է փոխանցված նմուշում դիտված կառուցվածքի վրա։ Այսպիսով, նախ ստուգեք օրինակի բովանդակությունը, ապա գնահատեք ստացված նկարագրությունը։

Գործիք JSON սխեմայի գեներատոր

Նմուշից կառուցվածք ստանալու նպատակը

Schema Generator-ը JSON նմուշային տվյալների հիման վրա ստեղծում է JSON Schema ներկայացում։ Այն պետք է օգտագործել այն իրավիճակում, երբ արդեն ունեք տվյալների օրինակ և ցանկանում եք տեսնել դրա կառուցվածքը՝ հետագա նախագծման կամ ձեռքով ճշգրտման համար։ Նմուշը կարող է ցույց տալ օբյեկտի դաշտերը, զանգվածի տարրերը կամ մեկ պարզ արժեքի տեսակը։ Արդյունքի հիմքում մնում է հենց փոխանցված արժեքը, ուստի նմուշը ընտրեք այնպես, որ այն ներկայացնի ձեզ հետաքրքրող կառուցվածքը։ Կարող եք նաև նշել վերնագիր, որպեսզի ստացված ներկայացումը հեշտ տարբերակվի մյուս արդյունքներից։ Եթե վերնագիրը չլրացնեք կամ այն թողնեք դատարկ, կօգտագործվի «Generated Schema» անվանումը։ Գործիքը տրամադրված նմուշը փոխակերպում է կառուցվածքային նկարագրության, ոչ թե ազատ տեքստային բացատրության։ Այդ պատճառով մուտքը նախապատրաստելիս կարևոր է պահպանել JSON-ի ճիշտ շարահյուսությունը։ Կառուցվածքի հետագա սահմանափակումները, որոնք նմուշում չեն երևում, պետք է առանձին գնահատել և անհրաժեշտության դեպքում ձեռքով ավելացնել։ «Generated Schema» անվանումը նաև հարմար է այն դեպքում, երբ վերնագրի ընտրությունը դեռ վերջնական չէ։

Գործողությունների հերթականությունը

  1. Պատրաստեք ճիշտ ձևավորված JSON նմուշ։ Այն կարող է լինել օբյեկտ, զանգված, տող, թիվ, տրամաբանական արժեք կամ null։ Օբյեկտի մեջ ներառեք այն անդամները, որոնք ցանկանում եք արտացոլել արդյունքի մեջ, իսկ զանգվածի դեպքում մտածեք, թե ինչպիսի տարրեր պետք է ցույց տա օրինակը։

  2. Նմուշը տեղադրեք JSON տվյալների հիմնական մուտքում՝ որպես տեքստ։ Եթե այդ մուտքը դատարկ է, գործիքը կարող է դիտարկել json, data, text, input, value կամ sample այլընտրանքային դաշտերից առաջին հարմար արժեքը։ Եթե օգտագործելի նմուշ չի գտնվել, գործողությունը չի ավարտվում ստեղծված ներկայացմամբ։

  3. Ցանկության դեպքում լրացրեք վերնագրի մուտքը։ Դատարկ վերնագիրը նույնպես համարվում է չնշված, և այդ դեպքում արդյունքի համար կիրառվում է «Generated Schema» լռելյայն անվանումը։

  4. Գործարկեք ստեղծումը և դիտեք վերադարձված JSON Schema ներկայացումը։ Ընտրված մուտքի UTF-8 չափը չպետք է գերազանցի 1,000,000 բայթը, քանի որ այդ շեմից մեծ արժեքը չի ընդունվում։

  5. Եթե ստեղծումը չի կատարվում, ստուգեք JSON-ի շարահյուսությունը։ Ուղղեք չփակված չակերտները, բացակայող փակագծերը, ավելորդ ստորակետերը և JSON-ին չհամապատասխանող արժեքները, հետո նորից փոխանցեք նույն օրինակը։ Մուտքը պետք է լինի իրական JSON, ոչ թե դրա նկարագրությունը կամ մեկնաբանությունը։ Եթե միաժամանակ օգտագործում եք այլընտրանքային մուտքեր, համոզվեք, որ դրանցից ընտրվող արժեքը նույնպես դատարկ չէ և ճիշտ է ձևավորված։

Արդյունքի ընթերցման եղանակը

Օբյեկտի դեպքում արդյունքը պարունակում է յուրաքանչյուր դիտված անդամի առանձին հատկության նկարագրություն։ Նմուշում երևացող անդամների անունները նշվում են որպես պահանջվող, իսկ լրացուցիչ հատկությունները չեն թույլատրվում։ Այսպիսի արդյունքը ներկայացնում է տվյալ օրինակի կառուցվածքը և կարող է ավելի խիստ լինել, քան իրական տվյալների ամբողջ բազմազանությունը։

Զանգվածը ներկայացվում է որպես զանգվածի կառուցվածք։ Դատարկ զանգվածի դեպքում տարրերի նկարագրությունը մնում է առանց սահմանափակման, իսկ տարբեր կառուցվածք ունեցող տարրերը կարող են միավորվել anyOf տարբերակներով՝ կրկնվող նկարագրությունները հեռացնելուց հետո։ Այդ պատճառով բազմազան տարրերով օրինակի արդյունքը կարող է ունենալ մի քանի թույլատրելի կառուցվածքի տարբերակ։

Պարզ արժեքները ճանաչվում են ըստ տեսակի. null-ը ստանում է null, տրամաբանական արժեքը՝ boolean, ամբողջ թիվը՝ integer, իսկ լողացող կետով թիվը՝ number տեսակ։ Տողը ստանում է string տեսակ, և համապատասխանող որոշ արժեքների համար կարող են ավելացվել email, uuid, uri, ipv4, date-time, date կամ time ձևաչափեր։ Ստացված ներկայացումը ներառում է JSON Schema draft-07 նույնացուցիչը։ Այն մի նմուշից ստացված կառուցվածքային հիմք է, ուստի այն չի արտահայտում այն պայմանները, որոնք տրամադրված արժեքում չեն դիտվել։

Գործնական օրինակ

Դուք ունեք API-ի օգտատիրոջ մասին նմուշային օբյեկտ և ցանկանում եք դրա հիման վրա ստանալ նախնական JSON Schema ներկայացում։ Այդ օրինակը հարմար է անուն և տարիք դաշտերի պարզ կառուցվածքը դիտելու համար։

Որպես նմուշ մուտքագրեք {"name":"Ani","age":30}, վերնագրի դաշտում գրեք «Օգտատեր» և գործարկեք ստեղծումը։ Ստացված կառուցվածքում ստուգեք երկու հատկությունների անունները, դրանց տեսակները և վերնագրի առկայությունը։ Այս գործողությունը չի պահանջում նմուշում չերևացող դաշտերի նկարագրություն։

Օբյեկտի կառուցվածք՝ name և age հատկություններով, երկու պահանջվող անդամներով, համապատասխան string և integer տեսակներով, ինչպես նաև լրացուցիչ հատկությունները չթույլատրող սահմանմամբ։

Սահմանափակումներ

  • Ներկայացումը հիմնվում է տրամադրված նմուշում դիտված կառուցվածքի վրա․ UTF-8-ով 1,000,000 բայթից մեծ ընտրված մուտքը չի ընդունվում, իսկ մեկ օրինակ կարող է չարտահայտել նախատեսված բոլոր կանոնները։

Հաճախակի սխալներ

  • Պատճառը սխալ ձևավորված JSON նմուշն է, օրինակ՝ չփակված չակերտը կամ ավելորդ ստորակետը։ Ստուգեք փակագծերը, չակերտները և ստորակետերը, ուղղեք շարահյուսությունը, ապա կրկին գործարկեք ստեղծումը։

Հաճախ տրվող հարցեր

Կարո՞ղ եմ օբյեկտից ստեղծել JSON Schema։

Այո, եթե օբյեկտը փոխանցվել է որպես ճիշտ ձևավորված, օգտագործելի JSON նմուշ։ Դրա դիտված անդամները կստանան առանձին հատկությունների նկարագրություններ և կներառվեն պահանջվող անդամների ցանկում։ Ավելացվող դաշտերը, որոնք օրինակում չկան, արդյունքի մեջ չեն երևա։

Ի՞նչ կլինի, եթե հիմնական մուտքի դաշտը դատարկ թողնեմ։

Եթե հիմնական մուտքը դատարկ է, կարող է օգտագործվել json, data, text, input, value կամ sample դաշտերից առաջին հարմար արժեքը։ Եթե նման նմուշ չկա, գործողությունը չի ստեղծի ներկայացում։ Դատարկությունը պետք է տարբերել սխալ ձևավորված JSON-ից, որը նույնպես չի փոխարկվում։

Տողերի ձևաչափերը ճանաչվո՞ւմ են։

Այո, երբ տողային արժեքը համապատասխանում է գործիքի ճանաչած ձևերից մեկին, արդյունքը կարող է ստանալ email, uuid, uri, ipv4, date-time, date կամ time ձևաչափ։ Այդ նշումը վերաբերում է դիտված արժեքի ձևին և չի ավելացնում նմուշում չերևացող այլ պայմաններ։

Գործիք

JSON սխեմայի գեներատոր