TSV を JSON に変換

ここで TSV を JSON に変換できます。無料、アカウント不要です。ファイルを上の枠に落とせば、数秒で結果がダウンロードできる状態になります。 変換はお使いのブラウザーの中で行われるので、ファイルはアップロードされません。Windows でも macOS でも Linux でも、iPhone でも Android でも同じように動き、通信を切っても動き続けます。

  • 処理される場所 ブラウザーの中です。ファイルがアップロードされることはありません。
  • 可逆 何も捨てられません。JSONはTSVが持っていたものをそのまま保持します。
  • ファイルサイズの上限 1ファイルあたり100MBまで。無料、アカウント不要です。

一度に100ファイルまで。フォーマットが混ざっていても構いません。

出力は、見出し行をキーにしたオブジェクトの配列

TSV の見出し行がキーになり、それ以降の 1 行が 1 つのオブジェクトになります。多くの API やテストデータが前提にしている、いちばん扱いやすい形です。

TSV はタブを区切り文字として使う分、値の中にカンマが混じっていても崩れにくいという利点があります。ただし値の中にタブそのものが含まれる場合は、引用符で囲まれていれば正しく解釈されます。

型の推定と、それが噛みつく場所

型は推定されます。数値に見える値は JSON の数値になり、`true` と `false` は真偽値になります。数量や区分の列には、ほぼ確実にこれが望みどおりの結果です。

識別子には間違った答えです。`007` は `7` になり、郵便番号や品番、口座番号は先頭の 0 を黙って落とします。日本のデータではこれがよく当たります。`0600001` という郵便番号、`03` で始まる電話番号、13 桁の法人番号。最後のものは 0 が消えるどころか指数表示になることさえあります。数量ではなく符号を扱っているなら、頼る前に出力を見てください。

識別子を文字列のまま保つ

数値に見える値は数値になるので、符号の列を守る方法は、変換の前に「これは数値ではない」と分かる形にしておくことです。表計算ソフトで先頭に `'` を付ける、接頭辞を足す、書き出しの時点で引用符で囲む。どれでも文字として印が付きます。

一般則として、その列の 2 つの値を足すことが一生ないなら、それは識別子で、文字列のままでいたがっています。郵便番号、品番、電話番号、口座番号、法人番号は全部この足し算の試験に落ちます。

空の欄が何になるか

空の欄は空文字列ではなく null になります。見出しが `a\tb\tc` の行にデータが 2 つしかなければ、足りない列には null が入ります。JSON を受け取る側が文字列を要求する場合、null はスキーマの検証で弾かれることがあります。

TSV には「空だった欄」と「そもそも無かった欄」を区別する方法がなく、その違いに意味がある場合は、元の TSV の側で明示的に書いておく必要があります。

見出しが重複しているとき、日本語のとき

同じ見出しを持つ列が 2 つあると衝突します。オブジェクトのキーは一意だからです。後ろの列が勝ち、前の列は警告もなく消えます。直す場所は元の TSV の見出し行です。

見出しが日本語なら、JSON のキーも日本語になります。それ自体は正しい JSON ですが、受け取る側が ASCII のキーを前提にしていることもあります。書き出し元の文字コードが UTF-8 になっているかも、あわせて確認しておくと安心です。

顧客データの書き出しを、アップロードせずに変換する

全部ブラウザーの中で動くので、大きな書き出しでも機械が許す速さで変換され、この機械からは出ません。TSV はたいてい顧客名簿か注文履歴か、社外の相手に説明したくない基幹システムからの書き出しなので、この組み合わせがほかの変換より効いてきます。

開発者ツールのネットワークタブを開いたまま変換すれば、ファイルを運ぶリクエストが 1 つも出ていないことを確認できます。

どのくらいの大きさまで扱えるか

解析は速く、限界はメモリーです。配列全体を組み立ててから書き出すためです。数十メガバイトは普通に通ります。数百メガバイトになると、ブラウザーのタブが苦しみはじめます。

その大きさの書き出しなら、正しい道具はブラウザーの変換機ではなく、逐次読み込みができるスクリプトの側です。

TSV を JSON に変換する手順

  1. お手元の TSV ファイル をこのページに落とすか、押してファイルを選んでください。
  2. 変換先に JSON を選びます。変換はブラウザーの中で行われ、ファイルはアップロードされません。
  3. できあがった JSON ファイル をダウンロードします。

TSV と JSON——何が変わるか

TSVとJSONの比較
TSVJSON
正式名称Tab-Separated ValuesJavaScript Object Notation
拡張子.tsv, .tab.json
メディアタイプtext/tab-separated-valuesapplication/json
最初の公開19932001
仕様IANA text/tab-separated-valuesRFC 8259
ライセンスオープン標準オープン標準
現在の位置づけ現行現行
ブラウザで開けるか対応なしすべてのブラウザ
代わりに検討される形式CSVXML, YAML, NDJSON

残るもの

失われるものはありません。TSV も JSON も中身を劣化なしに保持します。この変換が変えるのは包み方であって品質ではないので、劣化が積み重なる心配をせずに何度でも繰り返せます。

結果を開く

JSON は今のブラウザーならどれでも開けます。TSV はそこまでも届きません。ファイルがウェブページや申込フォームへ向かうのであれば、たいていはそれがこの変換の理由のすべてです。

開くプログラムが重なりません。TSV はMicrosoft Excel、LibreOffice Calc、pandasで、JSON はVisual Studio Code、jq、Postmanで開きます。結果を渡す相手には後者のどれかが要ります。

どちらの形式が何のためのものか

TSV は 1993 年に登場しました。 IANA text/tab-separated-values で規定されています。ファイルが、それを書いた道具より長く生きなければならないなら、この一点には値打ちがあります。

JSON は 2001 年から使われています。規定は RFC 8259 です。Visual Studio Code、jq、Postmanがこの形式を読めます。

TSV から JSON:よくある質問

TSV ファイル はどこかにアップロードされますか。

いいえ。この変換は完全にブラウザーの中で行われるので、ファイルが端末から出ることはありません。ご自分で確かめられます。開発者ツールのネットワークタブを開いて、何か変換してみてください。ページそのものと、このサービスの費用をまかなっている分析・広告のリクエストは見えますが、あなたのファイルを運んでいるリクエストはひとつもありません。

TSV から JSON への変換は無料ですか。

はい。アカウントも透かしもなく、消費される 1 日の割り当てもありません。お使いの機械の上で動くので、何度でも戻ってきていただけます。ブラウザーが扱えるのは 100 MB までのファイルで、一度に 100 本です。

TSV を JSON に変換すると品質は落ちますか。

いいえ。JSON は同じ内容を何も捨てずに保持できるので、結果は品質の点で元のファイルと同じです。

TSV から JSON への変換は可逆ですか。

失われるものはありません。TSV も JSON も中身を劣化なしに保持します。この変換が変えるのは包み方であって品質ではないので、劣化が積み重なる心配をせずに何度でも繰り返せます。

これらのフォーマットについて