JSON Toolkit

よくある質問

このサイトのツールと JSON 仕様について最もよくある質問を、場面別にまとめました。曖昧な結論ではなく、すぐ行動できる答えを示します。

25 件の記事

このカテゴリの記事

ツール利用 FAQ:データ、ファイル、エクスポート

データはアップロードされるのか、どれくらいのファイルが動くのか、何かローカルに保存されるのか、なぜ日本語がエスケープになるのか。オンライン JSON ツールの実際の境界を十の質問で明示します。

初級約 10 分で読めます2026-10-30 更新

構文と形式 FAQ:コメント、末尾カンマ、精度

コメントは許されるか、末尾カンマがなぜエラーか、キーに引用符は必要か、9007199254740993 が変わる理由。十二の結論を RFC 8259 に照らして確認します。

初級約 12 分で読めます2026-10-30 更新

クエリと検証 FAQ:JSONPath と Schema

パスクエリは JSONPath か Pointer か、Patch と Merge Patch の選び方、Schema が止められるもの、ドラフト版の選び方。一度に解説します。

中級約 12 分で読めます2026-10-30 更新

チーム協業 FAQ:契約、設定、フィクスチャ

命名スタイル、時刻形式、null の意味論、enum の形、設定形式、フィクスチャの整理、マージ競合。チームが実際に議論する十二のトレードオフです。

中級約 12 分で読めます2026-10-30 更新

JSON にコメントは書けるか

RFC 8259 にコメント構文はなく、`//` やブロックコメントは `JSON.parse` を失敗させます。JSON5 や JSONC、`_comment` フィールド、Schema の description、YAML を使いましょう。

初級約 3 分で読めます2026-10-30 更新

末尾カンマが JSON を壊す理由

末尾カンマは JavaScript のオブジェクトリテラルでは合法で、JSON では致命的です。正確なエラー、原因となる RFC 8259 の文法、実際に効く三つの修正を示します。

初級約 3 分で読めます2026-10-30 更新

BOM は JSON のパースを壊すか

UTF-8 BOM は見えない 3 バイトなので、`JSON.parse` が最初の文字で失敗し、1 行 1 列目を報告します。そのためファイルが空や途中切れに見えます。

初級約 4 分で読めます2026-10-30 更新

JSON に NaN や Infinity は現れるか

JSON には十進数リテラルしかありません。JSON.stringify は NaN と Infinity を警告なしに null にするので、「数値フィールドが時々 null」という現象が本番で起き続けます。

初級約 3 分で読めます2026-10-30 更新

大きな整数が精度を失う理由

2^53-1 を超える整数は JSON.parse で精度を失います。スノーフレーク ID、注文番号、データベースの bigint がすべて該当するので、端から端まで文字列で保ちましょう。

中級約 4 分で読めます2026-11-04 更新

日本語が \u4e2d\u6587 になる理由

\u4e2d\u6587 のエスケープは正当な Unicode で、エンコーディング障害ではありません。本当の文字化けは見た目が違い、両者を見分けることが何を直すべきかを決めます。

初級約 3 分で読めます2026-10-30 更新

JSON vs JSON5 vs JSONC

厳密な上位集合の順序:JSONC はコメントを追加し、JSON5 は単一引用符、引用符なしキー、末尾カンマ、16 進数を追加します。選び方を誤るとエディタではなく API が壊れます。

初級約 4 分で読めます2026-10-30 更新

JSON か YAML か

JSON は波括弧で区切り、YAML はインデントで区切ります。機械には JSON、設定を編集する人間には YAML。コメント、アンカー、複数文書の構造は変換で失われます。

初級約 4 分で読めます2026-10-30 更新

JSONPath か JSON Pointer か

JSON Pointer はキーとして保存できる一意の住所で、JSONPath はクエリ言語です。誤って使うと設定更新が壊れるか、壊れた JSONPath を再発明することになります。

中級約 4 分で読めます2026-10-30 更新

JSON Schema が実際に解くもの

Schema は構造と型を統制し、業務上の意味は統制しません。フィールド欠落、型違い、範囲外の enum を止め、金額がゼロ超といった規則はコードに残ります。

中級約 4 分で読めます2026-10-30 更新

draft-07 か 2020-12 か

2020-12 が現行で、$defs、prefixItems、unevaluatedProperties を加えますが、多くのツールは依然 draft-07 しか話しません。ツールチェーン全体が対応するかで選びます。

上級約 4 分で読めます2026-10-30 更新

Schema から TypeScript 型を生成する

json-schema-to-typescript と quicktype は一コマンドで .d.ts を出力しますが、それは草案です。任意性、ユニオン、additionalProperties、日付には人の手が必要です。

中級約 4 分で読めます2026-10-30 更新

大きな JSON のパースを速くする

順序を誤った最適化はライブラリの入れ替えを無駄にします。ネットワーク、パース、描画を別々に測り、パース回数を減らし、ペイロードを縮め、ストリーミングします。

中級約 5 分で読めます2026-10-30 更新

__proto__ 注入とは何か

JSON.parse は __proto__ を普通のキーとして扱います。損傷は Object.prototype に書き込む再帰マージで起き、以後すべてのオブジェクトが攻撃者のプロパティを継承します。

上級約 5 分で読めます2026-10-30 更新

JSON 経由で XSS はどう起きるか

JSON は決してそれ自体では実行されません。XSS はそれを HTML として扱った瞬間に起きます。サーバー側の文字列連結、フロントエンドの innerHTML、JSON を script タグに直接インライン化する場合です。

中級約 4 分で読めます2026-10-30 更新

API レスポンスはどんな構造にすべきか

裸のオブジェクトはメタデータが必要になるまで綺麗で、完全なエンベロープは安全だが冗長です。ほとんどのプロジェクトでは結果に HTTP ステータス、データに安定したエンベロープを使います。

中級約 4 分で読めます2026-10-30 更新

JSON のタイムスタンプはどの形式か

エポック数と ISO 文字列にはそれぞれトレードオフがありますが、実際に壊すのは混在です。オフセット付き ISO 8601 を使い、UTC で保存し、ユーザーのタイムゾーンで表示します。

初級約 3 分で読めます2026-10-30 更新

null かフィールド省略か

`null` はフィールドが存在し値がないことを示し、省略はフィールドが存在しないことを示します。PATCH ボディ、設定マージ、フォームの初期表示で差が牙をむきます。

中級約 3 分で読めます2026-10-30 更新