スプレッドシートをJSONに変換する
このツールができること
スプレッドシートは行と列の格子、JSONはキーと値のツリーです。このツールはその二つを橋渡しし、Excelのブック(XLSX、XLS、CSV、ODS)を読み込んで各行を構造化されたJSONへ書き換えます。ファイルを直接解析し、含まれるシートを検出したうえで、行を出力でどのような形にするかを選べます。
出力モードは二つあり、大半の用途をカバーします。オブジェクト形式はヘッダー行をキーとして使い、データ行ごとに一つのJSONオブジェクトを生成します。これは多くのAPIやスクリプトが期待する形です。配列形式はキーを省き、各行を値だけのコンパクトな配列として出力するため、より軽く元の格子に近い形になります。
使いどころ
よくあるのは、手作業で管理しているシートをプログラムが読める形へ変える場面です。商品リストや価格表、書き出したレポートが、APIリクエストや設定ファイル、データベースの初期投入に流し込めるJSON配列になります。
試作段階でも役立ちます。サンプルのJSONを手で書く代わりに、使い慣れた列にデータを並べて一度変換し、その結果をそのままコードやモックサーバーに貼り付けられます。届いたのがブックではなくCSVなら、同じ往復をCSV ↔ JSON変換器がカバーします。通貨記号が紛れ込んだセルや末尾の空白は、正規表現テスターでパターンを固めてから当てると、片づけがぐっと速くなります。
例:行からオブジェクトへ
1行目が name、price、in_stock で、次の行に Keyboard、39.90、true と Mouse、19.50、false があるシートを考えます。最初の行をヘッダーとして扱いオブジェクト形式を選ぶと、コンバーターは行ごとに {"name":"Keyboard","price":"39.9","in_stock":"TRUE"} のようなオブジェクトを返します。各ヘッダーがキーに、各セルがその値になり、行ごとに1つのオブジェクトが作られます。
注意点と特殊なケース
いくつかの点が結果を左右します。オブジェクト形式はヘッダー行からキーを取り、配列形式はすべての行を値だけのリストのまま保ちます。セルはExcelでの表示どおりに取り込まれます。日付はシリアル値ではなく 2024-01-15 のような整形済みテキストになり、数値と TRUE/FALSE はテキストとして届きます。空のセルは空文字列になります。ブックに複数のシートがある場合は、シート一覧で別のシートを選ぶまで最初のシートが変換されます。パネルの下の行にシート、行数と列数、ファイルサイズが表示されるので、ファイルが想定どおり読み込まれたか確認できます。