API の欠けたフィールドの比較

API が新しくなって、消えた項目と型が変わった項目を洗い出す。

旧版と新版の API 応答(JSON)を貼り付けると、旧版にあって新版に無い項目と、型が変わった項目をパス付きで一覧にします。値の違いは見ず、構造(項目の有無と型)だけを比べます。入力はブラウザの中だけで処理します。

ツールを使う 入力例と結果

旧版と新版の JSON を貼って、欠損と型の変更を探す

入力した内容は送信されません。貼り付けた文字や選んだファイルは、お使いのブラウザの中だけで処理します。本サイトのサーバーや第三者へ送信・保存しません(通信を禁止する設定でページを配信しています)。

結果

エラー 0 件・警告 2 件・情報 1 件

指摘(エラー・警告・情報)

  • 警告 $.name 旧版にあった $.name が新版にありません。この項目を使っている利用側が壊れるおそれがあります。
  • 警告 $.price $.price の型が 数値 から 文字列 に変わりました(RFC 8259 の値の型で比較)。
  • 情報 $.email 新版に $.email が増えています(旧版にはありません)。
判定欠損 1 件・型変更 1 件
旧版のパス数4 個
新版のパス数4 個
欠損1 件
型変更1 件
追加1 件
配列の扱い全要素をまとめて([] として)比べる

構造の差(欠損・型変更・追加)

構造の差(欠損・型変更・追加)
パス判定旧版の型新版の型
$.name欠損文字列(なし)
$.price型変更数値文字列
$.email追加(なし)文字列

初期表示は入力例「name が消え、price が文字列になった」の結果です。入力を変えるとその場で処理し直します。判定の根拠は仕様と根拠にまとめています。

ご利用にあたって

  • 比べるのは貼り付けた応答例の構造だけです。実際の API の仕様や互換性の保証ではありません。
  • 大きな JSON はお使いの端末の性能によって処理に時間がかかることがあります。

使い方

  1. 旧版と新版の JSON を、それぞれの欄に貼り付けます。応答例は 1 件でも、代表的な複数件でも構いません。
  2. 配列の比べ方を選びます。要素の形が揃っている一覧なら「全要素をまとめて」、位置に意味がある配列なら「要素ごとに」を選びます。
  3. 表で、欠損(旧版にあって新版にない)・型変更・追加を確かめ、欠損と型変更から先に利用側を直します。

入力例と結果

代表的な入力・境界の入力・壊れた入力の例です。例ごとに入力・出力・指摘と、その結果になる理由(検算)を載せています。

入力例と結果の一覧
入力例結果
name が消え、price が文字列になったエラー 0 件・警告 2 件・情報 1 件
配列の一部の要素にだけ qty があるエラー 0 件・警告 1 件・情報 0 件
同じ入力を要素ごとに比べるエラー 0 件・警告 2 件・情報 0 件
null だった項目が文字列になったエラー 0 件・警告 1 件・情報 0 件
値だけが変わり、構造は同じエラー 0 件・警告 0 件・情報 1 件
旧版の末尾にカンマがあり構文エラーエラー 1 件・警告 0 件・情報 0 件

このツールでできないこと(制約)

よくある質問

API の項目が消えたかどうか、これで確実に分かりますか?

貼り付けた応答例に出てくる範囲では分かります。ただし応答例に現れない任意の項目は、そもそも比べられません。代表的なパターンを複数件まとめた応答例を使うと見落としが減ります。

数値が文字列に変わったときも見つかりますか?

見つかります。100 が "100" に変わるような変更は RFC 8259 の値の型が変わるため「型変更」として表示します。利用側で計算に使っている項目では特に影響が大きい変更です。

貼り付けた JSON はどこかに送られますか?

送られません。処理はお使いのブラウザの中だけで行い、ページは通信を禁止する設定(CSP の connect-src)で配信しています。社外秘の JSON でも内容を送信しませんが、共用の端末では使い終わったらページを閉じてください。