Ինչպես JSON-ից ստեղծել TypeScript կամ Python տիպեր
Մուտքագրեք ճիշտ JSON, ընտրեք TypeScript կամ Python և գործարկեք գեներացումը՝ տվյալների կառուցվածքից տիպային ներկայացում ստանալու համար։ Եթե լեզու չընտրեք, կօգտագործվի TypeScript-ը։
Նպատակը և կիրառման դեպքերը
JSON-ի օրինակից TypeScript-ի ինտերֆեյսներ կամ Python-ի dataclass-ներ ստանալը օգտակար է, երբ տվյալների կառուցվածքը նախապես նկարագրված չէ, բայց ունեք դրա իրական օրինակ։ Գործիքը տրամադրված JSON տեքստից ստեղծում է ելքային տեքստ, որի միջոցով կարելի է տեսնել դաշտերի և արժեքների համապատասխան տիպերը։ TypeScript-ը լռելյայն ընտրված լեզուն է, իսկ մյուս աջակցվող տարբերակը Python-ն է։
Մուտքը պետք է լինի հենց JSON, ոչ թե ազատ ձևով գրված տվյալների նկարագրություն։ Սա նշանակում է, որ տողային արժեքները պետք է գրված լինեն կրկնակի չակերտներով, իսկ օբյեկտի անդամները պետք է բաժանվեն ստորակետերով։ Եթե հիմնական տիպի համար հատուկ անուն չեք նշում, գործիքը օգտագործում է Root անունը։ Կարող եք նաև տրամադրել ձեր նախընտրած անունը, օրինակ՝ UserProfile, որպեսզի արդյունքն ավելի հասկանալի լինի ձեր աշխատանքի համատեքստում։
Կիրառման քայլերը
-
Պատրաստեք JSON օբյեկտ, որը ներկայացնում է ձեր տվյալների իրական կառուցվածքը։ Ստուգեք, որ մուտքը դատարկ կամ միայն բացատներից կազմված չէ։ Ուշադրություն դարձրեք կրկնակի չակերտներին, փակող փակագծերին, ստորակետերին և արժեքների համապատասխան ձևաչափին։
-
Տեղադրեք ամբողջ JSON տեքստը մուտքագրման դաշտում։ Եթե տվյալների օրինակը մեծ է, նախ համոզվեք, որ պատճենելիս որևէ տող կամ փակագիծ չի կտրվել։ Մի ավելացրեք մեկնաբանություններ կամ JSON-ի շարահյուսությանը չպատկանող բացատրական տեքստ։
-
Ընտրեք ելքային լեզուն։ TypeScript-ը կիրառվում է լռելյայն, իսկ Python-ը կարող եք ընտրել որպես այլընտրանք։ TypeScript-ից և Python-ից բացի լեզվի արժեքը չի ընդունվում։
-
Անհրաժեշտության դեպքում լրացրեք հիմնական տիպի անունը։ Եթե այդ դաշտը չօգտագործեք, հիմնական անունը կլինի
Root։ Սեփական անուն ընտրելիս օգտագործեք այնպիսի ձև, որը հետագայում հեշտ կլինի տարբերել տվյալների մյուս կառուցվածքներից։ -
Գործարկեք գեներացումը և դիտեք ստացված արդյունքը։ JSON օբյեկտի համար TypeScript-ի արդյունքը կազմվում է ինտերֆեյսների հայտարարություններով, իսկ Python-ի արդյունքը՝ dataclass հայտարարություններով։
-
Ստացված տիպային նկարագրությունը համեմատեք սկզբնական JSON-ի հետ։ Առանձին ստուգեք հիմնական դաշտերը, ներկառուցված օբյեկտները, ընտրված լեզուն և հիմնական անունը։ Այդ համեմատությունը օգնում է նկատել ոչ ճիշտ կամ թերի մուտքագրված JSON-ը նախքան արդյունքը ձեր աշխատանքում օգտագործելը։
Արդյունքի իմաստը և սահմանները
Արդյունքը պետք է կարդալ որպես մուտքագրված JSON-ի արժեքներից եզրակացված տիպային նկարագրություն, ոչ թե որպես տվյալների բովանդակության լրացուցիչ բացատրություն։ TypeScript-ում տողային արժեքը ներկայացվում է string տիպով, բուլյան արժեքը՝ boolean-ով, իսկ թվային արժեքը՝ number-ով։ Python-ի դեպքում նույն արժեքներին համապատասխանող տիպերն են str, bool և float։
Ներկառուցված օբյեկտները նույնպես արտացոլվում են արդյունքի մեջ։ Գործիքը դրանց համար ստեղծում է առանձին ներկառուցված տիպեր, իսկ հիմնական կառուցվածքի համապատասխան դաշտերը հղվում են այդ տիպերին։ Ուստի արդյունքը գնահատելիս մի սահմանափակվեք միայն առաջին հայտարարությամբ. դիտեք նաև ներսում գտնվող օբյեկտների նկարագրությունները և համեմատեք դրանց դաշտերը մուտքային JSON-ի հետ։
Եթե մուտքը դատարկ է կամ բաղկացած է միայն բացատներից, գեներացում չի կատարվում։ Նույնը տեղի է ունենում սխալ ձևավորված JSON-ի դեպքում, օրինակ՝ բաց թողնված չակերտի կամ ստորակետի ժամանակ։ TypeScript-ից և Python-ից տարբեր լեզվի ընտրությունը նույնպես չի տալիս գեներացված արդյունք։ Այս դեպքերում ուղղեք մուտքը կամ ընտրեք աջակցվող լեզու և նորից գործարկեք գործընթացը։
Գործնական օրինակ
Օգտատերը ցանկանում է իր օգտվողի տվյալների օրինակից ստանալ TypeScript-ի տիպային կառուցվածք և տրամադրում է {"name":"Անի","active":true,"count":3,"profile":{"city":"Գյումրի"}} JSON-ը։
Տեղադրեք JSON-ը, ընտրեք TypeScript-ը և հիմնական տիպի անվան համար նշեք UserProfile, ապա գործարկեք գեներացումը։
TypeScript-ի դեպքում արդյունքը կունենա հիմնական UserProfile ինտերֆեյս՝ name դաշտով որպես string, active դաշտով որպես boolean, count դաշտով որպես number, իսկ profile դաշտը կհղվի ներկառուցված օբյեկտի համար ստեղծված առանձին տիպին։
Սահմանափակումներ
- Ելքային լեզուների ընտրությունը սահմանափակվում է TypeScript-ի ինտերֆեյսներով և Python-ի dataclass-ներով։ Այլ լեզվի արժեքը հանգեցնում է սխալի։
Հաճախակի սխալներ
- Պատճառ՝ մուտքը դատարկ է, միայն բացատներից է կազմված կամ պարունակում է անվավեր JSON, օրինակ՝ բաց թողնված չակերտ կամ ստորակետ։ Ուղղում՝ մուտքագրեք ոչ դատարկ JSON տեքստ, ստուգեք փակագծերն ու շարահյուսությունը, ապա կրկին գործարկեք գեներացումը։
Հաճախ տրվող հարցեր
Կարո՞ղ եմ JSON-ից TypeScript-ի տիպային ներկայացում ստանալ։
Եթե JSON-ը ճիշտ ձևավորված է, գործիքը կարող է դրանից ստեղծել TypeScript-ի ինտերֆեյսների հայտարարություններ։ TypeScript-ը լռելյայն լեզուն է, իսկ մյուս աջակցվող տարբերակը Python-ն է։
Ինչպե՞ս ստանալ Python-ի dataclass-ներ։
Եթե տրամադրեք ոչ դատարկ և ճիշտ JSON տեքստ, ապա ընտրեք Python, արդյունքը օբյեկտների համար կազմվում է dataclass հայտարարություններով։
Ի՞նչ անուն կունենա հիմնական տիպը։
Եթե անուն չնշեք, հիմնական տիպի անունը կլինի Root։ Եթե տրամադրեք սեփական հիմնական անուն, այն կարող է օգտագործվել արդյունքի հիմնական կառուցվածքի համար։