多くのプログラミング言語間で相互運用可能なクライアントとサーバーを生成する、言語非依存のRPCフレームワークです。
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
npmでquicktype CLIをグローバルにインストールする
npm install -g quicktype - 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 の数値は毎日更新されます。
関連プロジェクト
標準の型アノテーションを使ってJSON、MessagePack、YAML、TOMLをエンコード・デコードする、高速なPythonシリアライズ・バリデーションライブラリ。
JSON、YAML、CSV、XMLをインタラクティブなグラフに変換し、形式変換やコード生成もできるオープンソースのJSONエディター。
1つの.sk irファイルから、TypeScript、Python、Java、Go、C++など向けの型安全なデータモデルとRPCコードを生成する宣言的スキーマ言語。
純粋なTypeScript型を、実行時バリデーター、JSONシリアライザー、Protocol Bufferコーデック、ランダムデータ生成器にコンパイルするTypeScriptトランスフォーマー。
ソース生成によるシリアライズに対応した、.NETとUnity向けの高性能・低アロケーションなC#製YAML 1.2ライブラリ。