248
202

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

JSON から C#、TypeScript、Swift、Go などの型定義を生成してくれる VS Code 拡張機能

Last updated at Posted at 2020-04-10

いつも、https://quicktype.io を使ってたのですが、VS Code 拡張機能があることにさっき気づきました。

Paste JSON as Code

image.png

例えば OpenWeather のレスポンスの JSON をクリップボードに格納してる状態で VS Code のコードパレットから Paste JSON as Code を選択すると…

image.png

トップレベルの型名を入れるように言われるので適当に入れます。

image.png

そうすると、こんな感じのコードを生成してくれます。

image.png

ファイルタイプから言語を認識してくれるみたいで、上の例では .cs のファイルに対して張り付けた結果になります。試しに .swift の拡張子のファイルに貼ると以下のようなコードが生成されました。Swift だ…。

image.png

.ts でやると TypeScript になります。

image.png

JSON ファイルが手元にある場合はコマンドパレットで Open quicktype for JSON とやると…

image.png

以下のようにリアルタイムで JSON からコードにしてくれます。途中で Set quicktype target language で変換先言語も変えることが出来ます。

quicktype.gif

対応言語は拡張機能のページに書いてある以下の言語に対応しているようです。

Supports TypeScript, Python, Go, Ruby, C#, Java, Swift, 
Rust, Kotlin, C++, Flow, Objective-C, JavaScript, Elm, and JSON Schema.

まとめ

今まで quicktype.io のサイトにいってたけど、これからは VS Code でやれるね。
Swagger とか Open API とかみたいに API 定義がきちんとある Web API は、そっちから生成するツールでやったほうがいいけど、そういうのが無かったり単に JSON をパースしたいときは、こっちが便利そう。

追記

Visual Studio 2019 用拡張機能が無かったので作りました。

JSON からクラスを生成してくれる quicktype の Visual Studio 2019 用拡張機能作りました

248
202
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
248
202

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?