JSON Schema生成ソフトウェア・ライブラリまとめ

JSON Schemaを手作業で作っていくというのは現実的ではありません。システムで用いるものとあって、書き方が分かりづらい部分があったり、バリデーションの条件などは記述が面倒です。

そこで使いたいのがJSON Schema生成ソフトウェアやライブラリになります。各プログラミング言語ごとに存在しますので使いやすいものを選んでください。

JSON Schema Generator

JSON Schema GeneratorはWebブラウザ上でJSON Schemaの編集ができます。全体の設定に加えて、各項目単位でバリデーションの設定をビジュアル的に実行できるようになっています。

結果は一行のJSON文字列になりますので、そのまま開発で利用できます。

json-schema-generator

Node.jsのライブラリで、可読性の高いフォーマットでJSONフォーマットを定義します。それを json-schema-generator コマンドを使って変換することでJSON Schemaにできます。

手作業でValidなJSON Schemaを組み立てるのに比べて大幅に手軽になることでしょう。

perenecabuto/json_schema_generator

Pythonのライブラリで、指定したJSONファイルに対してすべての項目の型と入力必須かどうかを定義します。生成されたものをそのまま使うと言うよりも、値の範囲や必須か否かを編集した上で使うのが良さそうです。

Nijikokun/generate-schema

Node.jsのライブラリで、上記Pythonライブラリと同じようにJSONファイルを読み込んで型を定義したJSON Schemaを出力します。JSON Schemaだけでなく、Mongoose Schemaにも対応しています。

JSON Schema Generator 拡張機能

Visual Studio 2013 Update 2以降で使えるプラグインになります。JSONファイルを指定し、コンテクストメニューからGenerate JSON Schemaを選択します。

JacksonJsonSchemaGeneration - FasterXML Wiki

JavaのJSONライブラリであるJacksonを使ったJSON Schema Generatorです。Javaオブジェクトを指定して、そのプロパティをJSON Schemaに変換します。実際に動いているシステムをJSON Schema化したい時に使えそうです。

JSON Schema Editor

Windows用のソフトウェアとして販売されています。ビジュアル的にJSON Schemaが定義でき、バリデーションも細かく指定が可能です。構造はドラッグ&ドロップで変更できるなど使い勝手は良さそうです。

json-schema-generator | RubyGems.org | your community gem host

インストールするとjson-schema-generatorというコマンドが使えるようになります。オプションとしてSchemaのバージョンが指定できるようになっています。

solvire/php-json-schema-generator

PHPライブラリです。composerを使ってインストールができます。コマンドで使うのではなく、システムに組み込んで用いるようです。

ae real / JSON-Schema-Generator - search.cpan.org

Perl向けのライブラリです。ハッシュをベースにしてJSON Schemaを生成する仕組みになっています。

mcuadros/go-jsonschema-generator

GoのオブジェクトをJSON Schemaに変換できるライブラリです。すべてのプロパティを定義し、必須条件についても記述されます。バリデーションについては別途記述する必要があります。


JSON Schemaを生成する方法としては各プログラミング言語におけるオブジェクトをJSON Schemaとして出力するものと、ビジュアル的にJSON Schemaを作成していくものの2種類に分けられるようです。

すでにシステムが稼働している中にあっては、ライブラリと組み合わせるものが使いやすそうです。ただし細かなバリデーションは設定しなければなりませんので注意してください。ビジュアルエディタは仕様から考える際に使えるでしょう。

© NTT Communications Corporation All Rights Reserved.