スプレッドシートをJSONに変換する
このツールができること
スプレッドシートは行と列の格子、JSONはキーと値のツリーです。このツールはその二つを橋渡しし、Excelのブック(XLSX、XLS、CSV、ODS)を読み込んで各行を構造化されたJSONへ書き換えます。ファイルを直接解析し、含まれるシートを検出したうえで、行を出力でどのような形にするかを選べます。
出力モードは二つあり、大半の用途をカバーします。オブジェクト形式はヘッダー行をキーとして使い、データ行ごとに一つのJSONオブジェクトを生成します。これは多くのAPIやスクリプトが期待する形です。配列形式はキーを省き、各行を値だけのコンパクトな配列として出力するため、より軽く元の格子に近い形になります。
使いどころ
よくあるのは、手作業で管理しているシートをプログラムが読める形へ変える場面です。商品リストや価格表、書き出したレポートが、APIリクエストや設定ファイル、データベースの初期投入に流し込めるJSON配列になります。
試作段階でも役立ちます。サンプルのJSONを手で書く代わりに、使い慣れた列にデータを並べて一度変換し、その結果をそのままコードやモックサーバーに貼り付けられます。
例:行からオブジェクトへ
先頭行が name, price, in_stock で、続く行に Keyboard, 39.90, true と Mouse, 19.50, false が並ぶシートを想像してください。先頭行をヘッダーとして扱い、オブジェクト形式を選ぶと、[{"name":"Keyboard","price":39.90,"in_stock":true}, {"name":"Mouse","price":19.50,"in_stock":false}] が返ります。各ヘッダーがキーになり、各セルがその値になり、行ごとに一つのオブジェクトが作られます。
注意点と特殊なケース
いくつかのオプションが結果を左右します。先頭行に列見出しがある場合は、ヘッダー処理を有効にして、それらの見出しをデータ行ではなくキーにします。日付の解析は、日付セルをExcel内部のシリアル値ではなく読みやすい値に変換し、生の値モードは自分で書式を整えたいときにセルをそのまま保ちます。空のセルは空文字列などの既定値で埋められ、空行はスキップでき、前後の余分な空白は取り除けます。ブックに複数のシートがある場合は、一つを選んで変換するか、すべてを書き出せます。プレビューの横に表示される行・列・シートの数が、ファイルが想定どおり解析されたかの確認に役立ちます。