分析と広告のためのCookie
分析と広告のためにCookieを使っており、どちらもGoogleに送られます。拒否しても、目に見える動作は何も変わりません。プライバシーポリシーを読む
ここで JSON を TSV に変換できます。無料、アカウント不要です。ファイルを上の枠に落とせば、数秒で結果がダウンロードできる状態になります。 変換はお使いのブラウザーの中で行われるので、ファイルはアップロードされません。Windows でも macOS でも Linux でも、iPhone でも Android でも同じように動き、通信を切っても動き続けます。
一度に100ファイルまで。フォーマットが混ざっていても構いません。
順番に変換し、まとめてZIPでダウンロードします。
JSON から TSV
表形式には本来「入れ子」という概念がありません。JSON の値がオブジェクトや配列を含んでいる場合、この変換は 1 つの葉の値ごとに 1 つの列を作り、そこへ至る経路をドットでつないだ名前を列名にします。配列の添字も経路の一部として扱われます。
例えば `{"user":{"name":"田中","tags":["a","b"]}}` は `user.name`、`user.tags.0`、`user.tags.1` という 3 つの列に平らにされます。元の階層構造を知らないと、この列名だけでは意味がつかみにくくなることもあります。
JSON から TSV、CSV、SQL、INI、XLSX、Parquet へ書き出す場合、すべてこの同じ「平らにする」処理を経ます。逆に JSON、YAML、TOML、XML、NDJSON へ書き出す場合は、階層構造がそのまま保たれます。
つまり、階層を保ったまま別の形式に移したいだけなら TSV は向いていません。表計算ソフトで開きたい、という目的がある場合にだけ意味を持つ変換です。
JSON の配列は要素の個数が値によってまちまちなことがあります。この変換ではその個数の違いがそのまま列の有無に表れ、要素の少ない値の行は該当する列が空欄になります。
結果として、同じ構造のはずのデータでも、行ごとに列の埋まり方が異なる TSV になることがあります。想定より列数が多くなっていないか、書き出し後に確認しておくと安心です。
JSON の数値や真偽値は、TSV の中ではテキストとして書き出されます。この変換自体が新たに型を変えることはなく、JSON にあった値がそのまま文字として並びます。
一方で、TSV や CSV を再び JSON に戻すときには型の推定が働くため、往復させると `007` のような先頭の 0 を持つ文字列が数値に変わってしまうことがあります。識別子を含むデータを扱う場合は注意してください。
列の並び順は、データの中に現れた経路の順序に従います。並び替えを行う機能はなく、元の JSON の構造がそのまま列の並びに反映されます。
複数のオブジェクトでキーの並びが異なる場合、最初に現れた順序が優先され、あとから出てきた新しいキーは末尾に追加されます。
解析と平坦化はブラウザーの中で行われ、限界はメモリーです。データ全体をいったんメモリー上に展開してから書き出すためです。数十メガバイトは普通に通ります。
数百メガバイト規模の JSON を扱う場合は、ブラウザーの変換機ではなく、逐次処理のできるスクリプトのほうが確実です。
| JSON | TSV | |
|---|---|---|
| 正式名称 | JavaScript Object Notation | Tab-Separated Values |
| 拡張子 | .json | .tsv, .tab |
| メディアタイプ | application/json | text/tab-separated-values |
| 最初の公開 | 2001 | 1993 |
| 仕様 | RFC 8259 | IANA text/tab-separated-values |
| ライセンス | オープン標準 | オープン標準 |
| 現在の位置づけ | 現行 | 現行 |
| ブラウザで開けるか | すべてのブラウザ | 対応なし |
| 代わりに検討される形式 | XML, YAML, NDJSON | CSV |
TSV を読めるブラウザーはありません。その点では、2 つのうち通用する場所が狭いのはこちらです。送る前に、受け取る側がこれを受け付けるかどうか確かめてください。
開くプログラムが重なりません。JSON はVisual Studio Code、jq、Postmanで、TSV はMicrosoft Excel、LibreOffice Calc、pandasで開きます。結果を渡す相手には後者のどれかが要ります。
JSON は 2001 年に登場しました。 RFC 8259 で規定されています。ファイルが、それを書いた道具より長く生きなければならないなら、この一点には値打ちがあります。
TSV は 1993 年から使われています。規定は IANA text/tab-separated-values です。Microsoft Excel、LibreOffice Calc、pandasがこの形式を読めます。
いいえ。この変換は完全にブラウザーの中で行われるので、ファイルが端末から出ることはありません。ご自分で確かめられます。開発者ツールのネットワークタブを開いて、何か変換してみてください。ページそのものと、このサービスの費用をまかなっている分析・広告のリクエストは見えますが、あなたのファイルを運んでいるリクエストはひとつもありません。
はい。アカウントも透かしもなく、消費される 1 日の割り当てもありません。お使いの機械の上で動くので、何度でも戻ってきていただけます。ブラウザーが扱えるのは 100 MB までのファイルで、一度に 100 本です。
JSON と TSV は、内容の表し方が根本から違います。ですからこの変換は複製ではなく再構築です。誠実ではありますが、1 バイトも同じというわけではありません。 入れ子のオブジェクトは平らにされて列になります。深く入れ子になったデータは形を失います。
TSV を読めるブラウザーはありません。その点では、2 つのうち通用する場所が狭いのはこちらです。送る前に、受け取る側がこれを受け付けるかどうか確かめてください。