/ や ~ を含む項目名と、配列への追加

項目名 a/b の中の配列に要素が 1 つ増え、項目名 m~n の値が変わった例です。パスの中の / と ~ が、RFC 6901 の ~1 と ~0 に書き換えられる様子を確かめられます。

入力

左の JSON(変更前)

{"a/b":{"x":[1,2]},"m~n":1}

右の JSON(変更後)

{"a/b":{"x":[1,2,3]},"m~n":2}

1 と 1.0 のように、書き方が違っても数として等しい値は同じとみなす

はい

結果

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

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

  • 情報 全体 配列は先頭から同じ位置(添字)どうしを比べます。途中に要素が挿入・削除されると、それより後ろの要素が「変更」として並びます。長さが違う分は末尾の追加・削除として出します。
判定差あり(2 か所)
追加1 か所
削除0 か所
変更1 か所
型の変化0 か所

差のある場所の一覧

差のある場所の一覧
パス(JSON Pointer)種別左の値右の値
/a~1b/x/2追加3
/m~0n変更12

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

項目名 a/b は ~1 で /a~1b、配列 x の 3 つ目の要素(添字 2)が増えたので /a~1b/x/2 が追加です。項目名 m~n は ~ が ~0 になり /m~0n で、1 から 2 に変わったため変更です。配列の長さが違うので、その説明の情報が 1 件です。

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

このツールの制約

ご利用にあたって

  • 比較の対象は JSON の構文と値の型・中身に限ります。項目の意味や、変更が正しいかどうかは判断しません。
  • 大きな JSON はお使いの端末の性能によって処理に時間がかかることがあります。

ほかの入力例