JSONファルからソースコードを自動的に生成してくれる Paste JSON as Code

JSONファイルを取りこんでプログラムで処理しようとするときに1番大変なのがクラスの作成だと思います。

その後に、JSONファイルを開いて取り込んで変換してクラス変数へ格納するという作業が続きますが、クラスの作成と変換処理のソースコードを自動的に作成してくれるVisual Studio Code拡張機能を紹介します。

インストール方法

Paste JSON as Codeと検索して以下の画面からインストールできます。

Paste JSON as Code - Visual Studio Marketplace
Extension for Visual Studio Code - Copy JSON, paste as Go, TypeScript, C#, C++ and more.

使用方法

まず、取り込みを行いたいJSONファイルをコピーします。

次に、貼り付け先へ移動します。

コマンドパレットから Paste JSON as Codeを実行します。

貼り付け先の拡張子からプログラミング言語を判断できない場合は、言語の指定が求められますので選択します。

トップレベルのクラス名の入力が求められますので、入力してEnterを押します。

このとおり、ソースコードが生成されます。

対応しているプログラミング言語

2021年12月の時点で以下のプログラム言語に対応しているようです。

  • C++
  • c#
  • Crystal
  • Dart
  • Elm
  • Flow
  • Go
  • JSON Schema
  • Java
  • JavaScript
  • Kotolin
  • Objective-C
  • python
  • Ruby

プログラム作成までをやってみた c#編

まず、使用したJSONファイルは以下のとおりです。

{
    glossary: {
        title: example glossary,
        GlossDiv: {
            title: S,
            GlossList: {
                GlossEntry: {
                    ID: SGML,
                    SortAs: SGML,
                    GlossTerm: Standard Generalized Markup Language,
                    Acronym: SGML,
                    Abbrev: ISO 8879:1986,
                    GlossDef: {
                        para: A meta-markup language, used to create markup languages such as DocBook.,
                        GlossSeeAlso: [GML, XML]
                    },
                    GlossSee: markup
                }
            }
        }
    }
}

以下のページから取得しました。

JSON Example

次に、Newtonsoft.Json パッケージをインストールします。

Newtonsoft.Json 13.0.3
Json.NET is a popular high-performance JSON framework for .NET
> dotnet add package Newtonsoft.Json --version 13.0.1

そして、以下のようにコードを書きます。たった8行です!!

using QuickType;

static void InputJsonSample()
{
    string JsonSampleFilePath = @./01_Input/sample.json;

    string fileContents = System.IO.File.ReadAllText(JsonSampleFilePath);

    var jSample = JsonSample.FromJson(fileContents);

    Console.WriteLine(jSample.Glossary.Title);

}

quicktype.io とは

JSONファイルからソースコードを生成するツールをオープンソースで開発しているようです。

Convert JSON to Swift, C#, TypeScript, Objective-C, Go, Java, C++ and more • quicktype
quicktype generates types and helper code for reading JSON in C#, Swift, JavaScript, Flow, Python, TypeScript, Go, Rust, Objective-C, Kotlin, C++ and more. Cust...

npm install -g quicktype でインストールすることで、コマンドラインからソースコードを出力することができます。

また、以下のページから、ブラウザを使ってJSONファイルからソースコード出力もできるようです。

Instantly parse JSON in any language | quicktype
Whether you're using C#, Swift, TypeScript, Go, C++ or other languages, quicktype generates models and helper code for quickly and safely reading JSON in your a...

Visual Studio Codeは機能ありすぎ!

Visual Studio Codeはオープンソースのコードエディタです。

コードエディタと言いつつも、デバッグもできますし簡易Webサーバも立てられますし、ソースコード中のTODOを検索してツリー表示することもできます。

インストール可能な拡張機能の数は30,000以上と言われており、とても便利な機能が数多くあります。

そのため、Visual Studio Codeを使いこなすには、それなりの情報収集が必要です。

「Visual Studio Code実践ガイド」は、

  • Visual Studio Codeの基本的な使い方
  • TypeScriptやPythonなど、実際の開発を通した Visual Studio Code機能の紹介
  • Visual Studio Code拡張機能の開発方法の紹介

などが収録されており、Visual Studio Codeの機能を体系的に理解するのに最適な書籍です。

電子書籍化されていますので、まずは kindleなどで試し読みしてみてはいかがでしょうか。

コメント

タイトルとURLをコピーしました