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

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

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

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

インストール方法

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

https://marketplace.visualstudio.com/items?itemName=quicktype.quicktype

使用方法

まず、取り込みを行いたい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"
                }
            }
        }
    }
}

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

https://json.org/example.html

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

https://www.nuget.org/packages/Newtonsoft.Json/

> 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ファイルからソースコードを生成するツールをオープンソースで開発しているようです。

https://quicktype.io/

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

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

https://app.quicktype.io/

速攻でメモできる QuickNote リリースしました!

QuickNoteは動作が超軽量でサクサクかけるノートアプリです。一瞬の閃きを逃さずにノートを開き書き始めることができます。 アカウント登録も不要です。お試しあれ!

Excel操作をコマンドで! proBoarderExcel

Excelはマウスで操作するのが基本ですが、マウス操作に疲れてはいませんか? キーボードでExcel操作ができるようになるアプリです。オープンソースで無料です。

積み上げ! Daily Stack リリースしました!

Daily Stack は日々の積み上げを管理するToDoアプリです。過去の積み上げの振り返りだけでなく、ツイート機能もあります。 アカウント登録不要ですぐに使い始めることができます。

ExecNote.app リリースしました!

ExecNoteは、コードが実行できるMarkdownアプリケーションです。Markdownドキュメント内に記載したコードをクリックすると実行ができます。わざわざターミナルを 起動させる必要がありません!無料ですのでもしよければダウンロードをお願いします。

About Me

11年目のシステムエンジニアです。アプリで生活や仕事を改善したい🐱仕事効率化、自動化のアプリ開発が得意です、ご相談ください。 🚀エンタメ系アプリの開発も模索中🐬社内SEや個人アプリ開発者、システムエンジニアになりたい人と繋がりたい🐱