JSONのデータがあるけれど設定ファイルにはYAMLが必要。またはスプレッドシートからエクスポートしたCSVをAPI用にJSONに変換したい。データフォーマットの変換は、開発者、データアナリスト、構造化データを扱うすべての人にとって日常的な作業です。このチュートリアルでは、無料ツールを使って最も一般的な3つのフォーマット間で変換する方法を紹介します。
必要なもの
- JSON、YAML、またはCSVフォーマットのデータ
- Webブラウザ(Chrome、Firefox、Safari、またはEdge)
- アカウント登録やインストールは不要
ステップバイステップガイド
適切な変換ツールを選ぶ
変換方向に合ったツールを選びましょう:JSONフォーマッターでJSONの検証と整形、YAML⇔JSON変換でYAMLとJSON間の変換、JSON⇔CSV変換でJSONとCSV間の変換ができます。
ソースデータを貼り付ける
ファイル、APIレスポンス、データベースのエクスポート、テキストエディタなどからデータをコピーして入力エリアに貼り付けます。ツールは貼り付け時にフォーマットを検証し、変換前に修正が必要な構文エラーがあれば通知します。
変換先フォーマットを選択して変換する
変換先のフォーマットを選択し、変換ボタンをクリックします。ツールがデータを変換して結果を表示します。特に複雑なネストされたデータの場合は、構造が正しいか出力を確認しましょう。
結果をコピーまたはダウンロードする
変換されたデータをクリップボードにコピーするか、ファイルとしてダウンロードします。出力は適切にフォーマットされており、プロジェクト、設定ファイル、データベースですぐに使用できます。
豆知識 すべての変換はブラウザ内でローカルに処理されます。データがサーバーに送信されることはないため、機密性の高い設定ファイル、APIキー(実際のシークレットの貼り付けは避けるべきですが)、独自データの変換も安全に行えます。
フォーマット別の使いどころ
JSON(JavaScript Object Notation)
JSONはAPIとWeb開発の標準フォーマットです。厳密な構文ですが、あらゆる環境で対応しています。
{
"name": "Alice",
"age": 30,
"skills": ["Python", "SQL", "JavaScript"]
}
JSONを使うべき場面:Web APIの操作、NoSQLデータベースへのデータ保存、アプリケーション間のデータ交換。
YAML(YAML Ain't Markup Language)
YAMLはJSONよりも人間が読みやすく、コメントもサポートしています。設定ファイルの定番フォーマットです。
name: Alice
age: 30
skills:
- Python
- SQL
- JavaScript
YAMLを使うべき場面:設定ファイル(Docker Compose、Kubernetes、GitHub Actions、Ansible)の記述、または人間が頻繁に読み書きするファイル全般。
CSV(Comma-Separated Values)
CSVは最もシンプルなフォーマットで、カンマで区切られた行と列だけです。すべてのスプレッドシートアプリケーションで開けます。
name,age,skills
Alice,30,"Python, SQL, JavaScript"
Bob,25,"Java, Go"
CSVを使うべき場面:表形式データの操作、スプレッドシートへのインポート、データベースからのエクスポート、技術者以外の関係者とのデータ共有。
ヒント 設定ファイルにJSONとYAMLのどちらを使うか迷ったら、YAMLを選びましょう。コメントがサポートされているため設定をインラインで文書化でき、インデントベースの構造は一目で読みやすくなっています。
フォーマット比較
| 機能 | JSON | YAML | CSV |
|---|---|---|---|
| 可読性 | 良い | 非常に良い | 表には良い |
| コメント | 不可 | 可 | 不可(通常) |
| ネストされたデータ | 可 | 可 | 不可 |
| 表形式データ | 可能だが冗長 | 可能だが冗長 | ネイティブ対応 |
| スプレッドシート対応 | 限定的 | 限定的 | 非常に良い |
| API標準 | はい | まれ | まれ |
| 設定ファイル標準 | 場合による | はい | いいえ |
よくある変換シナリオ
APIレスポンスからスプレッドシートへ:APIレスポンスのJSONをCSVに変換し、ExcelやGoogleスプレッドシートで分析します。
スプレッドシートからAPIリクエストへ:スプレッドシートをCSVとしてエクスポートし、JSONに変換してAPIリクエストのボディとして使用します。
JSON設定からYAML設定へ:JSONベースの設定(package.jsonの設定など)からYAMLベースのシステム(Docker ComposeやGitHub Actionsなど)への移行。
YAMLからJSONへの変換で検証:JSONはYAMLよりも厳密な構文規則を持っています。YAMLをJSONに変換することで、アプリケーションで使用する前にデータ構造を検証できます。
重要 フォーマット間の変換で情報が失われる場合があります。JSONはコメントをサポートしないため、YAMLのコメントはJSON変換時に失われます。CSVはネストされたデータを表現できないため、ネストされたJSONやYAMLの構造はフラット化されるか失われます。変換後の出力を必ず確認し、重要な情報が欠落していないか確認してください。
よくある質問
カンマの代わりにセミコロン区切りのCSVを変換できますか? ヨーロッパの一部の地域ではセミコロンが区切り文字として使われます。JSON⇔CSV変換ツールは異なる区切り文字のオプションをサポートしています。
JSONが圧縮されている(1行にまとめられている)場合は? まずJSONフォーマッターで整形しましょう。データが読みやすくなり、別のフォーマットに変換する前に確認しやすくなります。
ネストされたJSONをCSVに変換できますか? CSVは本質的にフラット(行と列)です。深くネストされたJSONオブジェクトは変換時にフラット化する必要があります。ツールはシンプルなネストには対応していますが、非常に複雑な構造には手動調整が必要な場合があります。
次のステップ
データ変換後は、JSONフォーマッターできれいに整形したり、Markdownプレビューツールでデータ例を含むドキュメントを作成したりすることもできます。