← ハシトシステム トップ English ツール ブログ
変換
対応している形
1行に1件のJSON(JSONL / NDJSON)とJSON配列を双方向に変換します。オブジェクトだけでなく、数値・文字列・配列・null の行も扱えます。JSON→JSONLでは配列でない値も1行として出力します。行の順序は保たれ、空行は読み飛ばします。

JSONLとJSONの変換について

使い方

左の欄にJSONL(1行に1件のJSON)を貼って「JSONL→JSON」を押すと、右にJSON配列が表示されます。逆に右の欄にJSON配列を貼って「JSON→JSONL」を押すと、左に1行1件のJSONLが表示されます。BigQueryの読み込みファイル、ログの1行1レコード出力、機械学習の学習データなど、行単位で扱うデータをJSONの配列として見たいときに使えます。

なぜ1行に収める必要があるのか

JSONLは「改行で件が切れる」ことだけを約束にした形式です。だから1件が何行にもまたがると、その約束が壊れて読み手が件を数えられなくなります。このツールがJSON→JSONLで整形(インデント)を付けないのはそのためです。逆にJSONL→JSONの向きでは、配列にまとめたあとなので自由に整形できます。

空行と壊れた行の扱い

空行は読み飛ばし、件数には数えません。読み込んだ件数・空行の数・入力の行数を変換後に表示するので、想定した件数になっているかを確認できます。壊れた行があった場合は行番号を出して変換を止めます。途中まで変換した結果を返すと、欠けに気づけないためです。

よくある質問(FAQ)

JSONLとNDJSONは違うものですか?

同じ形式を指す別の呼び方として使われています。どちらも「1行に1件のJSONを書き、行の区切りが件の区切りになる」形式で、行の途中で改行しないという点が共通しています。拡張子は .jsonl と .ndjson の両方が使われます。このツールはどちらの呼び方の入力も同じように扱います。

壊れた行があるとどうなりますか?

何行目が読めなかったかを行番号つきで表示し、変換は行いません。JSONLは1行が1件なので、壊れているのは通常その1行だけです。表示された行番号のところを直してから、もう一度変換してください。空行は誤りではなく、読み飛ばして件数だけを数えます。

入力したデータはサーバーに送信されますか?

いいえ。変換はすべてお使いのブラウザ内のJavaScriptで完結します。入力したJSONLやJSONがサーバーへ送信・保存されることはありません。