Olùyí JSON sí TypeScript Ọ̀fẹ́

Ṣẹ̀dá àwọn interface tàbí type alias TypeScript láti nǹkan tàbí àkójọpọ̀ JSON èyíkéyìí. Lẹ̀ẹ̀ka JSON rẹ kí o sì gba àwọn oríṣi TypeScript tí ó ti ṣetán fún lílo kíákíá.

Ó ń ṣiṣẹ́ láìsí ìsopọ̀ ní kété tí a bá kó wọlé
export interface User {
  id: number;
  name: string;
  email: string;
  isActive: boolean;
  score: number;
  tags: string[];
  address?: null;
}

export interface Root {
  user: User;
  createdAt: string;
  version: number;
}

Bí Ó Ṣe Ń Ṣiṣẹ́

Irinṣẹ́ yìí ń lo algorithm ìṣírò irú tí ń tún ṣe tí a fi ọwọ́ kọ láìsí ìwé-ìṣirò ìta kankan — JSON.parse láti fọwọ́sí àti pín ìbáwọlé, kí ó sì tún ṣe rìn kiri àkànṣe kan tí ó ń rìn kiri iye kọ̀ọ̀kan nínú igi JSON náà tí ó sì ń mú ìkéde interface tàbí type TypeScript jáde tààrà nínú aṣàwákiri. A kì í fi ohunkóhun ránṣẹ́ sí sáfà.

  1. 1
    A pín JSON tí a sì fọwọ́sí i
    A ń fi ìbáwọlé rẹ sí JSON.parse. Bí ó bá kùnà, àṣìṣe ìpín gan-an náà ń farahàn lẹ́sẹ̀kẹsẹ̀ nísàlẹ̀ ìbáwọlé náà. Ìpín tí ó parí ń mú igi iye tí a mọ̀ irú rẹ̀ jáde tí ó ń darí ìyókù ìyípadà náà.
  2. 2
    Ìṣírò irú tí ń tún ṣe
    Iṣẹ́ getType tí ń tún ṣe kan ń rìn kiri node kọ̀ọ̀kan: àwọn primitives ń dá sí string, number, boolean, tàbí null; àwọn ohun ń dá interface tí a dárúkọ tuntun; àwọn àtòjọ ohun ń jẹ́ kí a dàpọ̀ àwọn kọ́kọ́rọ́ wọn kọjá gbogbo àwọn ẹ̀yà, nítorí náà àwọn kọ́kọ́rọ́ tí ó wà nínú apá kan nìkan ń di yíyàn àti irú iye tí ó dàkọjá padà ni a fi so pọ̀ pẹ̀lú |.
  3. 3
    Orúkọ interface tí kò kọlù ara wọn
    Ohun tí a kọ́ sínú ara wọn kọ̀ọ̀kan ń gba orúkọ PascalCase kan tí a mú láti kọ́kọ́rọ́ JSON rẹ̀ (snake_case, kebab-case, àti àyè ni a jọ̀wọ́ gbogbo rẹ̀). Bí ohun méjì tí ó yàtọ̀ ní ìtòlẹ́sẹẹsẹ bá fẹ́ pín orúkọ kan náà, a ń fi àfikún nọ́mbà kún un (Data, Data2, …) dípò kí a kọ lé àkọsílẹ̀ ìṣáájú.
  4. 4
    Ìtọjade tí a fihàn tí a sì lè gbà
    A ń mú àwọn interface tí a kọ́ sínú ara wọn jáde kọ́kọ́, kí ó sì tẹ̀lé type gbòngbò, tí a ṣe àgbékalẹ̀ rẹ̀ gẹ́gẹ́ bí export interface tàbí export type dá lórí àṣàyàn rẹ. A lè dàkọ àbájáde náà sí clipboard tàbí gbà á gẹ́gẹ́ bí fáìlì .ts — gbogbo rẹ̀ ni a kọ́ pẹ̀lú Blob déédéé láìsí ìrìnrìn sáfà.

Àwọn Irinṣẹ Tó Jọra

Àwọn Ìbéèrè Tí A Máa Ń Béèrè