01 / 例
例
{"namae":"こんにちは","messeji":"ようこそ"}
{"namae":"ようこそ"}[
{
"namae": "こんにちは",
"messeji": "ようこそ"
},
{
"namae": "ようこそ"
}
]コード整形 / MULTIVERTO
各行に一つずつ書かれた JSON 値を読み取り、一つの JSON 配列にまとめます。
01 / 例
{"namae":"こんにちは","messeji":"ようこそ"}
{"namae":"ようこそ"}[
{
"namae": "こんにちは",
"messeji": "ようこそ"
},
{
"namae": "ようこそ"
}
]02 / ガイド
各行に一つずつ書かれた JSON 値を、一つの配列にまとめます。行ごとに独立して JSON として解析し、読みやすい字下げを付けた配列を出力します。行の境界が項目の境界になるため、一行に複数の値を詰め込まず、空行や構文エラーも確認してください。
この例では入力「{"namae":"こんにちは","messeji":"ようこそ"} ⏎ {"namae":"ようこそ"}」から出力「[ ⏎ { ⏎ "namae": "こんにちは", ⏎ "messeji": "ようこそ" ⏎ }, ⏎ { ⏎ "namae": "ようこそ" ⏎ } ⏎ ]」が得られます。⏎ は実際の改行を示します。 この結果を使う前に、区切り文字、フィールド名、値の型がどのように変わったか確認してください。JSON Lines を配列にする場合は、ファイルや要求全体を変換する前に、小さなレコードを受け取り側のパーサーで検証します。一行に一つずつある JSON の値を、一つの JSON 配列にまとめる操作です。
JSON Lines は一行ごとに完全な JSON 値を一つ保存し、レコードを順次処理したり確認したりしやすくします。各行は独立して解析されます。途中の空行は JSON 値ではないため拒否されます。最後の行末の改行は許されます。逆方向のツールは JSON 配列を受け取り、各要素を一行のコンパクトな JSON 値として書き出します。一つの JSON 文書を要求する API 向けに、独立した JSON レコードを一つの配列へまとめます。物理的な各行に完全な JSON 値が一つ必要なので、複数行に整形されたオブジェクトを一レコードとして貼ることはできません。Windows と旧 Mac の改行形式は解析前に正規化されます。末尾の一つの改行は許容されますが、レコード間の空行はエラーです。結果の JSON 配列は通常の角括弧とコンマを持ち、一つの文書として解析できます。ストリームの受け取り側が各行にオブジェクトを要求するなら、このパーサーは数値、文字列、null も受け付けるため、その条件を別に検証してください。
生成した JSON Lines は空でない各行を個別に解析して検証し、生成した配列は一つの完全な JSON 文書として解析してください。文字列内の改行はエスケープしたままにし、意図しないレコード境界を作らないようにします。下流のサービスが各行にオブジェクトを要求する場合は、その条件を明示的に確認してください。形式そのものはスカラー値も許します。多くの行指向リーダーでは最後の改行も受け付けます。最後の改行と、エスケープ済みの改行を含む文字列を試してください。途中の空行は無効であり、配列内の null 項目にしてはいけません。元データと結果は見た目が似ていても役割が異なります。上記の方法が定義するのは対応する範囲であり、その形式名のあらゆる拡張ではありません。厳格な受け取り側に渡すなら、多くの記録を変える前に小さな既知の例を試してください。検証に失敗した場合は元の入力と最初に報告されたエラーに戻ります。生成結果だけを編集すると原因が隠れることがあります。
ガイドを探す