改行区切りの JSON 形式 (ndjson)

MIME タイプ: application/x-ndjson

ID: ndjson

DataWeave では、改行区切りの JSON 形式 (ndjson) をオブジェクトの配列として表します。ndjson 形式の各行は、配列の 1 つのオブジェクトにマップされます。

次のパーサー戦略は、ndjson リーダーでサポートされています。

  • メモリ内

  • ストリーミング

詳細は、​「DataWeave リーダー」​を参照してください。

次の例は、ndjson 形式の使用方法を示しています。

例: ndjson を DataWeave 形式 (dw) を変換する

次の例は、DataWeave で単純な ndjson 入力を表す方法を示しています。

入力

{"name": "Leandro","lastName": "Shokida"}
{"name": "Mariano","lastName": "De Achaval"}

ソース

この DataWeave スクリプトは、ndjson 入力を DataWeave (dw) 形式と MIME タイプに変換します。

%dw 2.0
output application/dw
---
payload

出力

DataWeave (dw) 形式では、ndjson 入力をカンマ区切りオブジェクトの配列に出力します。

[
    {"name": "Leandro","lastName": "Shokida"},
    {"name": "Mariano","lastName": "De Achaval"}
]

例: skipInvalid​ を使用する

次の例は、​skipInvalid=true​ の場合に ndjson リーダーが無効な ndjson データのすべての行を無視することを示しています。

入力

DataWeave ソースへの入力には、ndjson データの有効な行と無効な行が含まれます。​myInput.ndjson​ ファイルから入力を取得することが前提となっています。

myInput.ndjson:
{"name": "Christian"
{"name": "Mariano"}
{"name": "Tomo"
{"name": "Shoki"}

ソース

この DataWeave スクリプトは、入力ファイル ​myInput.ndjson​ のコンテンツを入力し、​skipInvalid=true​ リーダープロパティを適用して、入力を JSON 形式と MIME タイプに変換します。

%dw 2.0
var myInput = readUrl('classpath://myInput.ndjson', 'application/x-ndjson, {skipInvalid=true})
output application/json
---
myInput

出力

この JSON 出力は、ndjson 入力の有効なオブジェクトの配列です。

[
  {
    "name": "Mariano"
  },
  {
    "name": "Shoki"
  }
]

Configuration のプロパティ

DataWeave では、改行区切りの JSON 形式 (ndjson) の次の設定プロパティがサポートされています。

Reader のプロパティ

ndjson 形式では、入力データの読み込みの指示を提供するプロパティを使用できます。

パラメーター デフォルト 説明

ignoreEmptyLine

Boolean

true

空の行を無視します。有効な値は、​true​ または ​false​ です。

skipInvalid

Boolean

false

有効な ndjson でないデータをスキップします。有効な値は、​true​ または ​false​ です。

Writer のプロパティ

ndjson 形式では、出力データの書き込みの指示を提供するプロパティを使用できます。

パラメーター デフォルト 説明

bufferSize

Number

8192

ライターバッファのサイズ。

deferred

Boolean

false

true​ に設定すると、DataWeave は出力をデータストリームとして生成し、スクリプトの実行はそれがコンシュームされるまで延期されます。有効な値は、​true​ または ​false​ です。

encoding

String

'UTF-8'

使用する ndjson リーダーのエンコード。

skipNullOn

String

null

有効な値は、​arrays​ または ​objects​ です。

writeAttributes

Boolean

false

有効な値は、​true​ または ​false​ です。

サポートされる MIME タイプ

改行区切りの JSON 形式 (ndjson) では、次の MIME タイプがサポートされています。

MIME タイプ

application/x-ndjson

application/x-ldjson