Konverter JSON Schema ke TypeScript

Tempel JSON Schema (draft-07 atau 2020-12) dan dapatkan interface TypeScript: properti wajib dan opsional, enum sebagai union type, oneOf/anyOf sebagai union, allOf sebagai intersection, definisi $ref sebagai tipe bernama, serta deskripsi sebagai komentar JSDoc.

Diperbarui
Deklarasikan sebagai

Data kamu tidak pernah meninggalkan komputer kamu. Semua proses berjalan 100% secara lokal di browser kamu.

Apakah alat ini membantu?0.0 0 penilaian
Buat JSON Schema dari contoh JSONTipe data, field wajib, format (email, date, URI, UUID), enum, dan array objek.JSON ke JSON Schema →

Cara menggunakan JSON Schema ke TypeScript

  1. Tempel JSON Schema kamu, atau objek components.schemas dari OpenAPI, di panel kiri.
  2. Atur nama tipe root dan pilih apakah memakai interface atau type.
  3. Tipe TypeScript akan ikut berubah saat kamu mengetik. Definisi di dalam $defs atau definitions akan menjadi tipe bernama tersendiri.
  4. Salin kode ke file .ts atau .d.ts.

Cara JSON Schema dipetakan ke TypeScript

JSON SchemaTypeScript
"type": "string" / number, integer / boolean / nullstring / number / boolean / null
properties + requiredinterface dengan prop dan prop? untuk properti opsional
enum, constliteral union: "draft" | "published"
items, prefixItemsT[], tuple [A, B]
additionalProperties (schema)index signature [key: string]: T
oneOf / anyOf / allOfA | B / A | B / A & B
$ref: "#/$defs/User"tipe bernama User
"type": ["string", "null"]string | null

Keyword yang hanya untuk validasi, seperti minLength, pattern, atau format, tidak punya padanan di TypeScript. Keyword tersebut akan ditambahkan ke komentar JSDoc jika JSDoc diaktifkan. URL $ref eksternal akan diberi tipe unknown.

Mau mulai dari contoh data, bukan schema? Gunakan JSON ke TypeScript. Untuk mengecek data terhadap schema, gunakan JSON Schema Validator.

Juga dicari sebagai: json schema ke ts, generate typescript dari json schema, json schema interface, konverter json schema, openapi schema ke typescript, json schema types, json-schema-to-typescript online.

Tool yang cocok dipakai bersama JSON Schema ke TypeScript

  • JSON ke JSON Schema — Tempel satu atau beberapa contoh JSON dan dapatkan JSON Schema yang menggambarkannya: objek bertingkat, array objek yang digabung menjadi satu skema item, field wajib (kunci yang ada di setiap contoh), format yang terdeteksi seperti email, date-time, URI, dan UUID, enum opsional, serta output draf 2020-12 atau draft-07.
  • JSON ke Types — Tempel respons API dan dapatkan model siap pakai dalam 8 bahasa: TypeScript, Python (dataclass, TypedDict, atau Pydantic), Go, Java, C#, Kotlin, Swift, dan Rust.
  • Format JSON — Tempel JSON untuk dirapikan, di-minify, atau divalidasi.
  • Validator OpenAPI / Swagger — Tempel spesifikasi API untuk memeriksanya terhadap skema OpenAPI resmi, menemukan referensi yang rusak dan parameter path yang tidak konsisten, serta melihat semua endpoint sekaligus.

Pertanyaan yang sering diajukan

Bagaimana cara mengubah JSON Schema ke TypeScript?
Tempel schema di panel kiri, lalu interface TypeScript akan muncul di panel kanan. Definisi di $defs atau definitions menjadi tipe bernama yang dirujuk oleh $ref.
Versi JSON Schema apa saja yang didukung?
Draft-04 sampai draft-07, serta keyword 2019-09/2020-12: properties, required, enum, const, items, prefixItems, additionalProperties, oneOf, anyOf, allOf, $ref, $defs, dan definitions.
Apakah bisa dipakai untuk schema OpenAPI?
Bisa. Tempel satu schema, atau seluruh objek components.schemas untuk mendapatkan satu tipe per schema. Referensi #/components/schemas/ akan otomatis diselesaikan.
Apakah schema saya diunggah ke server?
Tidak. Proses konversi sepenuhnya berjalan di browser kamu.
Bisakah saya memasang JSON Schema ke TypeScript sebagai aplikasi web dan memakainya offline?
Bisa. JSON Schema ke TypeScript adalah aplikasi web (PWA) yang bisa dipasang. Pemasangannya lewat browser kamu, bukan diunduh dari toko aplikasi. Klik Pasang aplikasi di bagian atas halaman ini di Chrome atau Edge (Windows, macOS, Linux, ChromeOS) atau di Android. Di iPhone dan iPad, gunakan Bagikan → Tambahkan ke Layar Utama, dan di Safari 17+ pada Mac, gunakan File → Tambahkan ke Dock. Setelah itu, aplikasi akan terbuka di jendelanya sendiri dengan ikonnya sendiri. Karena berjalan sepenuhnya di browser kamu, aplikasi ini tetap bisa dipakai offline. Firefox di desktop tidak bisa memasang aplikasi web. Cara memasang aplikasi.

Tool terkait