On this page
Compare
JSON::Get Dump of Flatten ( using JSON Pointer )
JSON を Flatten した結果ダンプ出力を得る
ASTER::EXPRESSION::JSON
::using JSON Pointer,
Get JSON Dump of Flatten.
JSON Pointer を指定、指定された位置から JSON のダンプ出力を得る。 e.g. "/test"
JSON Pointer に空文字列を入力した場合、自動的に root とみなす。 e.g. ""
JSON Pointer に一文字を入力した場合、自動的に root とみなす。 e.g. "a"
参考 URL : nlohmann::basic_json::flatten
About Flatten
現在メモリに展開されている JSON データを対象に、JSON Pointer で指定された URI に含まれる全データ構造型を Primitive 型に変換したそのダンプを取得する。
プリミティブ型について
RFC 8259 Section-1 :: Introduction に記述がある 4 つを JSON が扱うデータ型の中でも「プリミティブ型」と定義している。
- Strings
- Numbers
- Booleans
- Null
ただし nlohmann/json ライブラリは Binary
も Primitive に含めた独自対応がある。
JSON にはデータ構造型として Objects
と Ararys
が定義されており、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
。