BEACHSIDE BLOG

Azure と GitHub と C# が好きなエンジニアの個人メモ ( ・ㅂ・)و ̑̑

JSONをコピペしてC#のクラス生成

Visual Studio の小ネタ機能になりますが、Jsonファイルのデータを、コピペしてクラスを生成することできます。

> Environment

この環境で動かしています。

  • Visual Studio 2015 Enterprise Update2
  • ASP.NET and WebTools 2015 RC1 Update1 (...お..RC1 update1なんだ...)


余談ですが、PCをsurfaceに変えたタイミングでVisual Studioを日本語にしてみました...

> Operation

例えばこんなJSONファイルがあるとして、

{
  "name": "taro",
  "age": 33,
  "phone": {
    "model": "lumia 950",
    "number": "123-456-789"
  },
  "favorite": [
    "soccer",
    "music",
    "basketball"
  ]
}

これをコピペでクラス生成します。

f:id:beachside:20160415110439g:plain

操作の解説ですが、
クラスにしたいjsonのデータをコピーします。
次に、クラスを作りたいC#のファイルを開いて、VSのメニューの[編集] > [形式を選択して貼り付け] > [JSONをクラスとして貼り付ける]
で、完成。

JSONがキャメルケースだとプロパティ名もキャメルケースになっちゃいますが....ReSharper使ってる方は秒殺で直せますね。
メニューに「XMLをクラスとして貼り付ける]があるので、それもできます。

> 環境依存で使えないかも?

この機能は、
‘Paste JSON As Classes’ in ASP.NET and Web Tools 2012.2 RC | .NET Web Development and Tools Blog
このあたりから実装されたっぽいですね。

WebEssentialsでもそんな機能あるんだっけ(かすかな記憶...)
Visual StudioASP.NET and Web Toolsが入っていればきっと使えると思いますが、入ってない場合の動作は不明です。
もしあかん場合は、この方法以外でも拡張機能でクラスのgeneratorとか作っている方がいるので、そちらをってとこでしょうか。