Help us understand the problem. What is going on with this article?

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

いつも、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 用拡張機能作りました

okazuki
日本マイクロソフトでサポート系のエンジニアとして働いています。 好きな言語は C# と TypeScript。メインの興味領域は Windows クライアントアプリ開発と Xamarin によるモバイルアプリ開発。その延長として API を作るための Azure の PaaS 系サービスが好きです。 SPA はたしなむ程度に。 お約束ですが、ここでの発言は個人の見解になります。
https://blog.okazuki.jp
microsoft
マイクロソフトのメンバーが最新の技術情報をお届けします。Twitterアカウント(@msdevjp)やYouTubeチャンネル「クラウドデベロッパーちゃんねる」も運用中です。
https://aka.ms/MSFT-Docs-JPN
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした