サンプルからJSON Schema生成
サンプルJSONからtype、properties、items、任意のrequiredを推定してJSON Schemaの下書きを生成します。混合型や空配列の制約不足を説明し、完全な自動推論とは扱いません。
サンプルの構造を仕様確認の出発点にする
JSONの値から観測できる型と構造をSchemaへ写します。配列内のオブジェクトでは出現キーをまとめ、全オブジェクトに存在したキーだけをrequired候補にします。値の範囲や業務上の必須条件は自動で作りません。
JSON Schema検証は既存の仕様との照合、JSON→TypeScriptは型宣言生成です。こちらは仕様を作り始めるための観測ベースのSchema下書きを担当します。
ツール本体
入力・操作・結果
上から入力し、必要な操作を行って、表示された結果と次の操作を確認してください。
入力と結果はこの画面のメモリ内で処理します。ページを再読み込みすると入力は消えます。コピーは利用者の操作で行います。
入力データは原則ブラウザ内で処理し、URLやアクセス解析へ保存しません。ページを更新すると入力は失われます。機密情報は入力しないでください。
使い方
- 代表的なJSONサンプルを入力します。複数レコードは配列でまとめます。
- 全サンプルに存在したキーをrequiredにするか、requiredなしを選びます。
- 生成したSchemaと混合型の説明を確認し、実際の業務仕様を手動で追加します。
例: [{"id":1,"name":"A"},{"id":2}]では、配列要素のidはinteger・required、nameはstring・任意の候補になります。
requiredは観測上の共通キーであり業務上の必須性を証明しません。追加プロパティ禁止、enum、最大最小値、文字数制約は推測しません。
このツールを使う場面
- 確認できること
- 観測した型と必須候補だけのSchema下書きを作る
- 使う前に見るポイント
- 代表的なJSONサンプルを入力します。複数レコードは配列でまとめます。
- 結果を見たあとにやること
- requiredは観測上の共通キーであり業務上の必須性を証明しません。追加プロパティ禁止、enum、最大最小値、文字数制約は推測しません。
このツールを含む進め方
作業全体に戻る場合は、近い課題別ページを開いてください。
JSON / CSV / ID 変換の使い分け
JSON / CSV の変換と、ID の生成・読み取りは別の作業です。まず JSON / CSV、次に ID を分けます。
つまずきやすいポイント
入力と計算条件
既存バリデータの単一type subsetに合わせ、同じ位置に複数型が混在すると型制約を付けずdescriptionで説明します。空配列のitemsも型未指定です。完全なSchema推論ではありません。
境界値・事前チェック項目
対応する範囲
JSON20万文字、5000ノード、深さ20、出力20万文字まで。生成keywordは$schema/type/properties/items/required/descriptionに限定。数値はJSON.parseの倍精度範囲です。
よくあるミスと回避策
結果を使う前に
下書きをそのまま契約仕様とせず、欠損例・異常値・追加キーを含むデータと仕様の正本で見直してください。外部Schema参照は生成しません。
FAQ
混合型の配列はどうなりますか?
type配列やanyOfに対応しない既存subsetに合わせ、混在位置の型制約は省略しdescriptionへ観測型を書きます。許容型は手動で決めてください。
サンプルにない条件も推測しますか?
推測しません。業務上の必須性、範囲、文字数、列挙値などは仕様から追加してください。
既存のJSON Schema検証で使えますか?
生成するkeywordは既存の対応subsetへ限定しています。$schema宣言があっても完全なDraft対応を保証するものではありません。
基本FAQ
入力データは外部へ送信されますか?
原則として送信されません。入力内容はブラウザ内で処理し、URLやアクセス解析へ保存しません。例外がある場合は各ツールページ内に明記しています。
入力内容は自動保存されますか?
原則として自動保存しません。ページを更新すると入力は失われます。コピーやダウンロードで保存する場合は、ご利用端末内に保存されます。
関連ツール
同じ作業の前後で使うことがあるツールです。