JSON から多言語エンティティへ

ローカル処理
app.codegen.view

次の方法でも #data={"name":"Ada"} または #url=... データを流し込めます。読み取り後はアドレスバーから削除されます。

サンプル JSON を貼ると入れ子構造を推論し、TypeScript、Go、Java など複数言語の型やエンティティクラスを生成します。「先に API、あとからモデル」の流れに向いています。言語はワークスペースのドロップダウンで切り替えられ、同じデータから再生成されます。

型推論

値から string / number / boolean / array / object を推定します。入れ子オブジェクトは独立した型に分け、any を減らします。

空配列、null、同じ配列に複数形状が混ざる場合は、人手で確認してください。

入れ子を型に分割

深いオブジェクトはたいてい独立型になり、すべて any にはしません。生成結果は足場として使い、チームの命名規則で改名してください。

20 言語でよくあるバックエンドとクライアントをカバーし、言語ごとに別サイトを探す必要はありません。

それでも一度は目を通す

null や混合型配列は生成結果を確認してください。日付、金額、列挙などの業務型は1つの例からは正確に分かりません。

生成コードはサーバーへ送りません。

サンプル JSON
{
  "id": 1,
  "title": "hello",
  "tags": ["json", "tools"]
}
生成されうる TypeScript
interface Root {
  id: number
  title: string
  tags: string[]
}
対応言語は?

TypeScript、Java、Go、Python、C#、Rust、Kotlin、Swift など 20 種。ワークスペースで切り替えれば十分です。

生成コードはサーバーへ送られますか?

送られません。推論とテンプレート展開はブラウザ内で完了します。

本番級のモデルになりますか?

下書きとして使ってください。検証、シリアライズ注釈、任意フィールド、チームの命名スタイルは足す必要があります。

フィールド名が不正なときは?

対象言語で使える識別子にできるだけ変換します。予約語との衝突は手で改名してください。

おすすめの手順

  1. フィールドが揃ったサンプル JSON(入れ子と配列を含む)を用意します。
  2. 既定は TypeScript を見てから、実際に使う言語へ切り替えます。
  3. プロジェクトへコピーし、空値、日付、列挙を補います。
  4. API 変更後は Diff でサンプルを照合し、衝突した層だけ再生成します。

生成器は「この数字が実は金額」とは知りません。業務意味は人が足し、下書きを契約そのものにしないでください。