本文へスキップ
grsytools.jp

提出前・共有前の実務チェック

サンプルからJSON Schema生成

サンプルJSONからtype、properties、items、任意のrequiredを推定してJSON Schemaの下書きを生成します。混合型や空配列の制約不足を説明し、完全な自動推論とは扱いません。

サンプルの構造を仕様確認の出発点にする

JSONの値から観測できる型と構造をSchemaへ写します。配列内のオブジェクトでは出現キーをまとめ、全オブジェクトに存在したキーだけをrequired候補にします。値の範囲や業務上の必須条件は自動で作りません。

JSON Schema検証は既存の仕様との照合、JSON→TypeScriptは型宣言生成です。こちらは仕様を作り始めるための観測ベースのSchema下書きを担当します。

ツール本体

入力・操作・結果

上から入力し、必要な操作を行って、表示された結果と次の操作を確認してください。

入力と結果はこの画面のメモリ内で処理します。ページを再読み込みすると入力は消えます。コピーは利用者の操作で行います。

入力データは原則ブラウザ内で処理し、URLやアクセス解析へ保存しません。ページを更新すると入力は失われます。機密情報は入力しないでください。

使い方

  1. 代表的なJSONサンプルを入力します。複数レコードは配列でまとめます。
  2. 全サンプルに存在したキーをrequiredにするか、requiredなしを選びます。
  3. 生成した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やアクセス解析へ保存しません。例外がある場合は各ツールページ内に明記しています。

  • 入力内容は自動保存されますか?

    原則として自動保存しません。ページを更新すると入力は失われます。コピーやダウンロードで保存する場合は、ご利用端末内に保存されます。

同じ作業の前後で使うことがあるツールです。