JSON to typescript 변환기는 무엇입니까?
JSON-TypeScript 변환기는 샘플 JSON 값 - API 응답,구성 파일,데이터베이스 레코드 - 을 읽고 이를 설명하는 TypeScript 인터페이스를 작성합니다. 중첩된 개체는 자체 명명된 인터페이스가 되고 개체 배열은 확장 유니온이 아닌 단일 요소 인터페이스로 병합되며 일부 레코드에서 null 이거나 누락된 키는 선택 사항으로 표시됩니다. 이미 가지고 있는 데이터를 붙여넣습니다; 그렇지 않으면 직접 작성할 유형을 얻습니다.
API 응답을 손으로 입력하는 것은 특정 방식으로 지루하고 오류가 발생하기 쉽습니다: 반환된 것이 아니라 반환된 엔드포인트에 대해 *생각*한 것을 입력합니다. 눈치채지 못한 필드는 생략되고,때때로 null 인 정수는 `number`로 입력되며,실수는 편집기가 아닌 프로덕션에서 런타임에 나타납니다. 실제 페이로드에서 바로 유형을 생성하면 해당 간격이 닫힙니다. 컴파일하는 모양이 서버가 보낸 모양이기 때문입니다.
모든 것이 브라우저에서 실행됩니다. 추론 엔진은 원격 서비스 주변의 래퍼가 아닌 종속성이 없는 TypeScript이므로 액세스 토큰,고객 기록 및 내부 ID 를 일상적으로 전달하는 페이로드가 페이지를 떠나지 않습니다. 인터페이스 또는 별칭을 입력하고 `export` 키워드 및 `readonly` 수정자를 전환하고 들여쓰기 너비를 선택한 다음 출력을 복사하거나.ts 파일을 다운로드하십시오.
JSON 에서 TypeScript 로 변환하는 것이 무엇을 제공하는지 빠르게 확인할 수 있는 방법은 내장 샘플입니다. 샘플 로드 를 누른 다음 생성하십시오. TypeScript 인터페이스에 3 개의 JSON 을 가져옵니다: `Root`, `Owner` and `Release`. 두 번째 릴리스에는 `notes` 키가 없으므로 병합된 `Release` 인터페이스는 `notes?: string`을 읽고 `retiredAt`은 유일한 레코드에서 null 이므로 `retiredAt?: null`이 됩니다. 하나의 null 은 실제 유형에 대한 증거를 제공하지 않기 때문에 정직한 결과입니다. 실제 엔드 포인트에 대해 JSON 을 TypeScript 로 변환하려면 추론을 비교할 것이 더 많도록 여러 레코드를 붙여 넣으십시오.
생성된 인터페이스는 호출하는 API 가 아니라 제공한 샘플을 설명하며,그 구별은 전체 위험입니다. 샘플의 모든 개체에 우연히 존재하는 필드는 서버가 때때로 생략하더라도 필수로 표시되며,샘플에서 null 인 필드는 항상 null 인 것과 구별할 수 없습니다. 빈 배열은 가장 명확한 경우입니다: 요소가 없는 배열은 포함된 내용에 대한 정보를 제공하지 않습니다. 배열 병합은 목록의 모든 개체를 하나의 인터페이스로 결합하고 일부 항목에서 누락된 키를 선택 사항으로 표시하여 여기서 도움이 되므로 더 크고 다양한 샘플이 더 정직한 유형을 생성합니다. API 에 스키마 또는 OpenAPI 문서가 있는 경우 대신 이를 생성하고 문서화되지 않은 응답을 탐색하는 데 사용합니다.
JSON을 TypeScript 변환기로 사용하는 방법은 무엇입니까?
JSON 붙여넣기
API 응답, 고정 파일 또는 JSON 값을 삭제합니다. 중첩된 객체, 배열 및 null 필드가 어떻게 처리되는지 확인하려면 먼저 샘플을 로드합니다.
루트 유형 이름 지정
루트 유형 이름을 설정합니다 - 일반적으로 User 또는 Invoice 와 같은 리소스입니다. 중첩된 인터페이스는 배열 요소 이름이 singularised 된 상태에서 키에서 자동으로 이름이 지정됩니다 (릴리스가 릴리스가 됨).
출력 스타일 선택
인터페이스 또는 별칭을 선택하고, 각 선언을 내보낼지 여부를 결정하고, 코드베이스가 변경 불가능한 모양을 선호하는 경우 읽기 전용 수정자를 추가하고, 들여쓰기를 2 또는 4 공백으로 설정합니다.
생성, 복사 또는 다운로드
생성을 누릅니다. 추론된 선택 항목과 조합을 검토한 다음 코드를 클립보드에 복사하거나 유형 폴더에 드롭할 준비가 된 .ts 파일로 다운로드합니다.
주요 특징
중첩 인터페이스 추출
모든 중첩된 객체는 인라인 익명 모양 대신에 이름이 있는 재사용 가능한 인터페이스가 되므로 내부 유형을 독립적으로 가져오고 참조할 수 있습니다.
스마트 어레이 병합
객체의 배열은 하나의 요소 인터페이스로 병합됩니다. 일부 레코드에는 존재하지만 다른 레코드에는 없는 키가 선택 사항이 되므로 실제 페이지 매김 API 데이터가 작동하는 방식이 바로 그렇습니다.
제어 가능한 처리
NULL 값이 키가 선택적임을 의미하는지 또는 NULL이 유니온에 속하는지 여부를 선택합니다. 두 가지 규칙 모두 일반적이며 도구가 코드베이스에 하나를 강제하지 않습니다.
인터페이스 또는 유형 별칭
모든 선언에 일관되게 적용되는 선택적 `export` 및 `readonly` 수정자를 사용하여 기존 린트 규칙과 일치하도록 `interface user {}` 또는 `type user = {}'를 내보냅니다.
Frequently Asked Questions
Related Tools
JSON Flattener
Flatten nested JSON into single-level dot-notation keys, or unflatten dotted keys back into nested objects and arrays. Lossless round trip. 100% client-side.
JSON Schema Generator
Generate a JSON Schema from any JSON sample. Infers types, merges arrays of objects into one item schema, derives required fields, and detects date-time, email, uri, and uuid formats. Draft-07 and 2020-12 output. 100% client-side.
JSON to Go Struct
Convert JSON into Go struct definitions with json tags. Nested objects become inline structs, arrays of objects are merged, and field names follow Go conventions. Runs client-side.
JSONPath Tester
Test JSONPath expressions against any JSON and see the matched values and their paths instantly. Supports wildcards, recursive descent, slices, and filters. 100% client-side.
Comments
0 comments
No comments yet. Be the first to share your thoughts!