Get a Flatten JSON Dump


ASTER::EXPRESSION::JSON::Get a flatten Dump using JSON Pointer

データ構造型をフラット化したダンプ文字列を得る。

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 データから階層データ構造を除外した結果となります。