name が消え、price が文字列になった

旧版にあった name が新版で無くなり、price が数値から文字列に変わり、email が増えた典型的な API 更新の例です。欠損 1 件・型変更 1 件・追加 1 件が出ます。

入力

旧版の JSON

{"id":1,"name":"A","price":100}

新版の JSON

{"id":1,"price":"100","email":"a@x"}

配列の比べ方

全要素をまとめて比べる([] として扱う)

結果

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

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

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

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

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

検算(この結果になる理由)

旧版のパスは $・$.id・$.name・$.price、新版は $・$.id・$.price・$.email です。$.name は新版に無いので欠損、$.price は数値(RFC 8259 6 節)から文字列に変わったので型変更、$.email は新版だけなので追加で、警告 2 件・情報 1 件になります。

判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。

このツールの制約

ご利用にあたって

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

ほかの入力例