Get a Flatten JSON Dump
ASTER::EXPRESSION::JSON::Get a flatten Dump using JSON Pointer
JSON の階層型データ構造を平坦化したダンプ文字列を得る
    
  ExStrFlatDump( "ASTER", "/MarcCohn/WalkingInMemphis" )パラメータ : JSON Pointer
存在しないパスがパラメータに指定されている場合、エラーメッセージが表示されます。
エラー通知を無視するセッティングの場合、エラーは表示されず、エラーへの対応が必要ならば即時実行条件「 JSON Pointer Error 」が利用できます。
| Rule | Param | 
|---|---|
| 指定された位置から JSON ダンプを得る。 | “/test” | 
| 空文字列を入力した場合、root とみなす。 | "" | 
| 一文字を入力した場合、root とみなす。 | “a” | 
パラメータ.2 : 無し
ホワイトスペースを用いたインデントの設定は
4で固定され、この値は変更はできません。
About Flatten
参考 URL : nlohmann::basic_json::flatten
現在メモリに展開されている JSON データを対象に、JSON Pointer で指定されたパスに含まれる全データ構造型を Primitive 型に変換したそのダンプを取得する。
プリミティブ型について
RFC 8259 Section-1 :: Introduction では以下 4 つを JSON の「プリミティブ型」と定義している。
- Strings
 - Numbers
 - Booleans
 - Null
 
ただし nlohmann/json ライブラリは
Binaryも Primitive に含めた独自対応がある。
JSON はオブジェクトと配列をデータ構造型として定義しており、Flatten はデータ構造型をプリミティブ型へ変換します。
以下に例示す。
    
  {
    "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 データから階層データ構造を除外した結果となります。