きな粉もち.net

.NET関連仕事に携わっています。OSSのソースを読んで気がついたことを中心に呟いたりブログに投稿したりしています。最近はUiPathを使ったRPAも研究中。気軽にフォローやツッコミよろしくおねがいします! Gitはここを使っています https://github.com/kinakomotitti

Cognitive Service × Json × 自動Model生成

Visual Stuidioには、Json(もしくはXML)からプロパティを自動で生成してくれる機能があります。
今回はその機能の使い方をまとめていきたいと思います。


例えば、CognitiveService*1APIを呼び出して操作を行う場合、Newtonsoft.Jsonなどのライブラリを使いながら、Jsonデータをentityに変換してから操作を行います。
そうなったとき、自分は今までJsonを横において、使いたいプロパティを定義していく・・・という途方もない作業をしていました。

しかし、素晴らしいVisual Stuidioでは、こんな作業しなくてもよかったのです。

その機能が、「形式を選択して貼り付け」機能です!

どんなものかということを、Text Analyticsを例に紹介します。
まず、Text AnalyticsのサンプルJsonをコピーしてみます。
f:id:kinakomotitti:20171110220356p:plain

次に、Visual Studioで適当な名前のクラスを作成します。
f:id:kinakomotitti:20171110220614p:plain

そして、先ほどコピーしたJsonを形式を選択して貼り付けます。
Visual Studioの[編集] - [形式を選択して貼り付け]を選択し、[Jsonクラスとして貼り付け]をクリックします。
f:id:kinakomotitti:20171110221214p:plain

すると、以下の画像のように、Jsonで定義されている情報がプロパティを持ったクラスファイルとして出力されます!
f:id:kinakomotitti:20171110221048p:plain

クラスの中はこんな感じです。一部気になるところはありますがw*2
f:id:kinakomotitti:20171110222022p:plain


はてしなく便利な機能ですね!
今後たくさん使っていこうと思います!

ちなみに、英語では[Paste Special]って名前だそうです。

*1:例えばText Analyticsとか→ Text Analytics API | Microsoft Azure

*2:プロパティの名前の先頭が小文字になってしまっているので、コードチェックの警告が出てますね・・・