行列と JSON の相互変換
変換処理はすべてブラウザ内で完結します。データは送信されません
行列テキスト(1 行 1 行、Excel や MATLAB、NumPy からコピーしたようなもの)を JSON の二次元配列に変換したり、逆に JSON 配列を整列した行列テキストとして描画します。サイト内のテーブル変換と違い、ここでは数値が数値のまま残ります —— 出力は `[[1,2],[3,4]]` であり、`[["1","2"],["3","4"]]` ではありません。計算に使う行列にとって、値が文字列か数値かは、そのまま使えるかどうかを決めます。代償として `007` のようなセルは `7` になります。先頭のゼロを保ちたい場合はテーブル変換をお使いください。行の長さが揃わない場合は、補完も切り詰めもせず最初に食い違った行番号を報告します —— 補った 0 や捨てた値は下流の計算を誤らせ、しかもその誤りはデータ自体からは見えません。
機能
- 2 方向:行列テキスト → JSON 配列、JSON 配列 → 行列テキスト
- 数値は文字列にならず数値のまま
- カンマ・タブ・空白・セミコロンを区切り文字として使え、自動判別もできます
- 方向も自動判別:先頭が [ なら JSON、それ以外は行列テキスト
- 行の長さが揃わない場合は、最初に食い違った行番号を報告
- 行列テキストは列を揃えて描画(数値は右寄せ、テキストは左寄せ、日本語混在は表示幅で計算)
- 一次元の JSON 配列は 1 行として扱い、エラーにはしません
- 往復可能:テキスト → JSON → テキストで数値が変わりません
- CRLF と LF のどちらも受け付けます
- 処理はすべてブラウザ内で完結し、データは送信されません
使い方
- 行列テキストまたは JSON 配列を貼り付ける
- 方向は通常選ぶ必要がありません —— 先頭が [ なら JSON として扱います
- 区切り文字の判別が外れたときだけ手動で指定する
- 結果をコピーする
よくある質問
- 「テーブル変換」との違いは何ですか?
- テーブル変換は見出し付きの表を扱い、値を常に文字列として出力します。`007` のような先頭のゼロは数値になった瞬間に失われるからです。このツールは見出しのない数値行列を扱い、値を数値として出力します —— 出力は計算に使うものなので、文字列か数値かがそのまま使えるかどうかを決めます。つまり、元のテキストを保ちたいならテーブル変換、計算できる数値行列が欲しいならこちらです。
- 007 が 7 になるのはなぜですか?
- 数値行列では、そのセルは数値の 7 として読まれるからです。「数値は数値のまま」という規則の避けられない代償で、両立はできません(JSON では `7` と `"007"` は別の値です)。識別子・郵便番号・社員番号など先頭のゼロを保つ必要がある場合は、出力が常に文字列になるテーブル変換をお使いください。
- 行の列数が違うとどうなりますか?
- エラーになり、どの行が 1 行目と食い違っているかを伝えます。行列は定義上長方形で、補完も切り詰めもデータを黙って変えてしまいます:補った 0 は平均を狂わせ、捨てた値は 1 列まるごと消します。どちらもデータ自体からは見えません。JSON 側でも同じで、`[[1,2],3]` のような「配列と単一値が混在」した形は、どの正しい形にも当てはまらないため報告します。
- タブ区切りのときに列幅を揃えないのはなぜですか?
- タブはそれ自体が整列のためのものなので、さらに空白を重ねるとエディタごとに幅が変わってしまいます —— タブ幅の設定はエディタごとに違うからです。その他の区切り文字では表示幅(日本語は 2 文字分)で桁を揃え、数値は右寄せ・テキストは左寄せにします。こうすると数値の列の桁が一目で比較できます。
- データは送信されますか?
- いいえ。変換はすべてブラウザのメモリ上で行われ、ページは一切リクエストを送りません。オフラインでも動作します。
関連ツール
表の変換
テキストCSV・TSV・Markdown の表を相互変換:Markdown 表、ASCII 罫線表、HTML、JSON、CSV。引用符は RFC 4180 に沿って処理し、列幅は表示幅で揃えます。
JSON 整形
整形JSON をブラウザ内で整形・圧縮・検証。折りたたみ可能なツリーで表示し、キーと値の検索、行番号とハイライト付きの編集、Python dict への変換にも対応。
JSON → コード
整形JSON サンプルから TypeScript interface、Go struct、Java class、Rust struct を生成。欠けたキーは任意に、型の衝突は共用型に。すべてブラウザ内で処理します。
正規表現テスト
テキストブラウザで正規表現をテスト:一致のハイライト、キャプチャグループ、置換プレビュー、バックトラック対策。JavaScript・Python・Java・Go・PHP のコード生成も。
タイムスタンプ変換
変換Unix タイムスタンプと日時を相互変換。秒〜ナノ秒を桁数で判別し、小数・負数・Windows FILETIME にも対応します。
日付計算
変換2つの日付の差が何日かを計算し、日・週・月の加減算もできます。日付はカレンダーから選ぶか貼り付けで。終了日を空にすると今日と比較。