Repolode
glideapps

glideapps/quicktype

JSON、JSON Schema、TypeScript、GraphQLクエリから、さまざまな言語の型付きモデルとシリアライザーを生成します。

スター
13,909
フォーク
1,194
未解決の Issue
235
最終コミット
9 日前

これは何?

quicktypeは、サンプルJSON、JSON Schema、TypeScriptの型定義、GraphQLクエリから、幅広いプログラミング言語向けの型付きモデルとシリアライザーを生成します。データクラスを手作業で書かずに、型付きコードでJSONデータを安全に扱いたい開発者を対象としています。

利用方法は複数あります。オフラインで動作し、貼り付けたデータをローカルに保持するapp.quicktype.ioのWebアプリ、グローバルにインストールするnpm CLI、JavaScriptまたはTypeScriptから呼び出せるquicktype-coreパッケージです。推奨されるワークフローは、サンプルデータからJSON Schemaを推論し、内容を確認してコミットしたうえで、ビルドの一環として対象言語ごとのモデルを生成する方法です。

対象言語には、Swift、Kotlin、Java、C#、Go、Rust、Python、TypeScript、C++、Dart、Scala、Elmなどがあります。CLIとNode.jsパッケージの利用には、Node.js 20以降が必要です。

主な機能

  • 01JSONサンプル、JSON Schema、TypeScript、GraphQLクエリから型を推論します。
  • 02Swift、Go、Rust、Javaなど、十数種類以上の言語向けにモデルを生成します。
  • 03オフラインで動作し、サンプルデータをローカルに保持するブラウザーアプリを提供します。
  • 04CLIとquicktype-coreのJavaScript APIを利用できます。
  • 05出力言語を拡張するカスタムレンダラーに対応しています。

ユースケース

  • バックエンドのJSON APIレスポンスから、モバイルアプリ用の型付きモデルを生成する。
  • リポジトリでJSON Schemaを管理し、複数のサービス向けに対応するモデルを生成する。
  • プロトタイピング中に、サンプルAPIペイロードからGoまたはRustの構造体を作成する。
  • 異なる言語スタック間で同じ形式でシリアライズできる、共通のデータ契約を作成する。

クイックスタート

  1. 1

    npmでquicktype CLIをグローバルにインストールする

    npm install -g quicktype
  2. 2

    stdinを使ってJSONサンプルからGoのソースコードを生成する

    echo '[1, 2, 3]' | quicktype -o ints.go

使う前に知っておきたいこと

  • quicktype CLIとNode.jsパッケージの実行にはNode.js 20以降が必要です。

収録されている特集

トピック

よくある質問

quicktype とは?
JSON、JSON Schema、TypeScript、GraphQLクエリから、さまざまな言語の型付きモデルとシリアライザーを生成します。 quicktypeは、サンプルJSON、JSON Schema、TypeScriptの型定義、GraphQLクエリから、幅広いプログラミング言語向けの型付きモデルとシリアライザーを生成します。データクラスを手作業で書かずに、型付きコードでJSONデータを安全に扱いたい開発者を対象としています。
quicktype は無料で使えますか?ライセンスは?
quicktype は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
quicktype は今もメンテナンスされていますか?
活発にメンテナンス中。quicktype の最終コミットは 2026年10月30日 です。
quicktype は何に使えますか?
バックエンドのJSON APIレスポンスから、モバイルアプリ用の型付きモデルを生成する。 リポジトリでJSON Schemaを管理し、複数のサービス向けに対応するモデルを生成する。 プロトタイピング中に、サンプルAPIペイロードからGoまたはRustの構造体を作成する。 異なる言語スタック間で同じ形式でシリアライズできる、共通のデータ契約を作成する。
quicktype のインストール方法は?
npmでquicktype CLIをグローバルにインストールする: npm install -g quicktype stdinを使ってJSONサンプルからGoのソースコードを生成する: echo '[1, 2, 3]' | quicktype -o ints.go
quicktype はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/glideapps/quicktype

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト

1つの.sk irファイルから、TypeScript、Python、Java、Go、C++など向けの型安全なデータモデルとRPCコードを生成する宣言的スキーマ言語。

318+2 今週10TypeScriptMIT活発にメンテナンス更新 11 日前