JSONFormat Parameter (Connect-JSON Cmdlet)
JSON ドキュメントのフォーマットを指定します。
Syntax
Connect-JSON -JSONFormat string
Possible Values
JSON, JSONRows, LDJSONData Type
cstr
Default Value
"JSON"
Remarks
このオプションを使用すると、JSON ドキュメントのフォーマットを指定できます。これにより選択したフォーマットの解析が可能になります。
JSON フォーマット
次のJSONFormat 設定が利用可能です。
-
JSON
これはデフォルトの形式で、多くの場合に使用されます。
-
JSONRows
これは、プリミティブ配列に含まれるデータの行からなるリレーショナル形式で返される特定のフォーマットです。カラム情報も別の配列に返されます。
Note:このJSONFormat を使用する場合、DataModel は適用されません。
例:
{ "dataset": { "column_names": [ "Name", "Age", "Gender" ], "data": [ [ "John Doe", 37, "M" ], [ "David Thomas", 25, "M" ] ] } }
JSONPath プロパティには、カラムと行のパスを識別する特別な構文が必要です。構文では、"column:" と"row:" というプレフィックスを使用してそれぞれのパスを指定します。 上記の例を使用すると、JSONPath は次のように設定されます:column:$.dataset.column_names;row:$.dataset.data
追加のデータを持つオブジェクトにカラムが返される場合は、追加の"columnname:" プレフィックスを指定して、カラム名を含む値へのパスを識別できます。
例:
{ "columns": [ { "name":"first_name", "type":"text" }, { "name":"last_name", "type":"text" } ], "rows": [ [ "John", "Doe" ], [ "David", "Thomas" ] ] }
上記の例では、JSONPath は次のように設定されます:column:$.columns;columnname:$.columns.name;row:$.rows
-
LDJSON(改行区切りのJSON)
この形式は、改行区切りのJSON ファイル(NDJSON またはJSONLines とも呼ばれます)をパースするために使用されます。改行区切りのJSON ファイルには、各行に別々のJSON ドキュメントが含まれています。
LDJSON ファイルの例:
{ "Name": "John Doe", "Age": 37, "Gender": "M" } { "Name": "David Thomas", "Age": 25, "Gender": "M" } { "Name": "Susan Price", "Age": 35, "Gender": "F" }
JSONPath 値は、通常のJSON 形式を使用した場合と同じように扱われます。唯一の違いは、ルートバス($.) が常に使用される(つまり、JSON のすべての行が配列内に含まれているように扱う)点です。
上の例では、JSONPath は"$." になり、Name、Age、およびGender カラムを含む3行を返します。