100% ローカル — データがブラウザの外に出ることはありません

TSVをJSONに変換|スクリプトにそのまま渡せる配列にする

タブ区切りの表を、JSONオブジェクトの配列に変換します。フィールドの境界が曖昧にならないので、結果はスクリプトやAPIに手を加えずそのまま渡せて、前処理が要りません。

高速 プライベート Cookieゼロ
インデント

TSV 入力

JSON 出力

このツールの動作

1行目がキーになり、以降の各行がオブジェクトになって、それらの配列が出力になります。ヘッダーを無効にすると、名前ではなく位置で対応する配列の配列になります。

値の型判定は CSV のツールと同じです。30 は数値、true は真偽値、01 は識別子の先頭のゼロが残るよう文字列 "01" のまま、空のフィールドは null ではなく "" になります。TSV も CSV と同様、「値が存在しない」ことを表す手段を持たないからです。

TSVが正しくやっていること

ここには選ぶべき区切り文字がなく、その不在こそがこの形式の最大の美点です。CSV はほとんどの文字でパーサに問いを突きつけます。この引用符はフィールドを開くのか、閉じるのか、それとも値の一部なのか。判断を誤れば列がずれます。

TSV は何も問いません。タブがフィールドを分け、改行がレコードを分ける。仕様はそれだけです。ファイルの読み方は1通りに決まるか、さもなければ不正な形式であるかのどちらかで、第二の読み方は存在しません。

TSVが取りこぼすこと

その単純さがそのまま限界でもあります。引用符の仕組みがないため、TSV の値はタブを含むことができません。しかも、タブが失われたことやフィールドが分割されたことを、形式そのものは何も知らせません。

ここで列が2つに分かれて見えるなら、その破損はファイルがあなたに届く前に起きています。対処は上流にあります。引用符付きフィールドにタブが収まる CSV として書き出し直し、そこから変換してください。

プライバシー

すべての処理はブラウザ内のJavaScriptだけで完結します。データがアップロードされることはないため、機密情報でも安心して利用でき、オフラインでも動作します。

よくある質問

区切り文字の設定がないのはなぜですか。
TSV には区切り文字が1つしかないからです。タブが定義上の区切り文字であり、それこそが解析を容易にしています。判定すべきものがないので、間違えようもありません。
列が2つに分かれてしまいました。何が起きたのですか。
データ中の値がタブを含んでいます。TSV にはそれを表現する手段がないため、そのファイルはここに届く前からすでに曖昧でした。修正は上流で行ってください。引用符付きフィールドにタブを収められる CSV として書き出すのが解決策です。
値の型判定はCSVのツールと同じですか。
はい、まったく同じです。`30` は数値、`true` は真偽値になり、先頭のゼロがある値は文字列のまま、空のフィールドは null ではなく空文字列になります。

関連ツール