ASTER::EXPRESSION::JSON::using JSON Pointer,


  JSON Pointer を指定、指定された位置から JSON のダンプ出力を得る。       e.g. "/test"
JSON Pointer に空文字列を入力した場合、自動的に root とみなす。         e.g. ""
JSON Pointer に一文字を入力した場合、自動的に root とみなす。           e.g. "a"
  

プリミティブ型について

RFC 8259 Section-1 :: Introduction に記述がある 4 つを JSON が扱うデータ型の中でも「プリミティブ型」と定義している。

  • Strings
  • Numbers
  • Booleans
  • Null

ただし nlohmann/json ライブラリは Binary も Primitive に含めた独自対応がある。

JSON にはデータ構造型として ObjectsArarys が定義されており、Flatten は URI をキー名にして構造型データを解体しプリミティブ型に変換する。

以下に例示す。

  {
    "object":{
        "a":100,
        "B":200
    },
    "test":{
        "array":[
            "J",
            "S",
            "O",
            "N"
        ]
    }
}
  

上記 JSON を Flatten すると以下 Dump が得られる。

  {
    "/object/a":100,
    "/object/b":200,
    "/test/array/0":"J",
    "/test/array/1":"S",
    "/test/array/2":"O",
    "/test/array/3":"N"
}
  

つまりデータ構造型は Flatten によって全て Primitive 型に変換でき、変換結果は JSON データから階層データ構造を除外しています。


パラメータ 1 : JSON Pointer

パラメータに存在しないパスが指定されている場合など、エラーメッセージが表示されます。エラー通知を無視するセッティングの場合、エラーは表示されず、即時実行条件「 JSON Pointer Error 」は利用できます。


パラメータ 2 : 無し

ダンプ出力を得る際に可読性を良くするためホワイトスペースを用いたインデント処理を自動で有効化します。

設定インデントは 4