範囲外の位置と、先頭が 0 の位置
items は 2 要素しかないのに /items/2 を指し、さらに /items/01 のように先頭が 0 の位置を書いた例です。取り出せる /total は表に出て、2 つの誤りはエラーで理由が示されます。
入力
JSON
{"items":[{"name":"A"},{"name":"B"}],"total":2}取り出す場所(JSON Pointer。1 行に 1 つ)
/total /items/2 /items/01
結果
エラー 2 件・警告 0 件・情報 0 件
指摘(エラー・警告・情報)
- エラー /items/2 /items/2: /items の配列は 2 要素で、位置 2 はありません(先頭は 0)。
- エラー /items/01 /items/01: 配列の位置には 0 または先頭が 0 でない整数を書きます(「01」は不可。RFC 6901 4 節)。
| 指定した場所 | 3 個 |
|---|---|
| 取り出せた | 1 個 |
| 取り出せなかった | 2 個 |
取り出した値
| 場所(JSON Pointer) | 型 | 取り出した値 |
|---|---|---|
| /total | 数値 | 2 |
検算(この結果になる理由)
items の位置は 0 と 1 だけなので 2 は範囲外です。位置は 0 か先頭が 0 でない整数と決まっているため(RFC 6901 4 節)01 も不可です。/total だけが取り出せ、エラーは 2 件になります。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- # で始まる URI フラグメント形式(RFC 6901 6 節)は扱いません。# を除いた形で書いてください。
- 空の Pointer(JSON 全体)は、空の行が無視されるため指定できません。
- ワイルドカードや配列をまたぐ検索(JSONPath のような書き方)はできません。1 つの Pointer は 1 つの場所を指します。
- 数値は元の書き方のまま出力します。値を計算や変換はしません。
ご利用にあたって
- 取り出した値は貼り付けた JSON の中身そのものです。共有する前に個人情報が含まれないか確認してください。
- 大きな JSON はお使いの端末の性能によって処理に時間がかかることがあります。