On this page
Help
About JSON Pointer
JSON Pointer について
ASTER::JSON
::About JSON Pointer
JSON Pointer
は RFC 6901 で定義された JSON データ内の特定データを識別するために用いられる文字列、標準のポインタ構文のことです。JSON Pointer の用途
JSON Pointer を利用してオブジェクトのプロパティや配列インデックスをナビゲートし、指定された値にアクセスします。
値を取り出すため、もしく値を代入する ( 上書きする ) ためのパス ( URI
) をポインタに記述します。
JSON は値を格納するために必ずキー名 ( token
) が必要になります。以下ポインタ記述サンプルをご覧ください。
e.g.
"/test/json/object/array"
上記サンプルはセグメント ( /
) を 4
つ持ち、セグメントで区切られた Token
でオブジェクトのプロパティや配列のインデックスを指定します。
基本的な使い方
メモリにロードされている JSON が以下内容であると定義。
e.g.
{
"sample":{
"object"{
"array":[1,2,3,4],
"name": "aster",
"year": 2024
}
}
}
ルート ( root ) 指定
e.g.
"/"
セグメントは最低限 1
必要なので "/"
という記述からスタートします。
ルート直下 “sample” を指定
e.g.
"/sample"
ルート直下にある "sample"
というオブジェクトを指定した記述が "/sample"
です。
データベースのルート・セグメントを省略した記述は構文エラーとなります。
e.g.
"sample/object"
配列の要素インデクスからデータを取得
配列要素のインデックス値をポインターに記述すれば値を取得できます。
e.g.
"/sample/object/array/3"
サンプルでは 3
が指定されたため取得結果は array[3
] == 4
です。
e.g.
"array":[1,2,3,4]
^
配列インデクスは 0
Based Index です。
- array[0] =
1
- array[1] =
2
- array[2] =
3
なのでサンプルでは値 4
が取得できます。
JSON Pointer の構文は非常にシンプルです。
ASTER は標準機能として JSON を実装、JSON データのナビゲーションや操作を簡単にする強力な必須ツールとして JSON Pointer を活用します。