JSONファイルとは何か?基本構造から実務活用まで分かりやすく解説

windows

今回は、IT業務でよく目にする「JSONファイル」について、基本から解説していきます。

設定ファイルやログファイル、API通信など、様々な場面で登場するJSONですが、その構造を理解すれば決して難しいものではありません。

JSONとは何か

JSON(JavaScript Object Notation)は、データを記述するためのテキスト形式のファイルフォーマットです。元々はJavaScriptから派生した形式ですが、現在ではプログラミング言語に依存しない標準的なデータ交換フォーマットとして広く使われています。

JSONの最大の特徴は「人間にも機械にも読みやすい」という点です。構造がシンプルで視覚的に理解しやすいため、設定ファイルの編集や、システム間のデータ通信など、様々な用途で採用されています。

JSONの基本構造

JSONファイルの基本構造は、非常にシンプルです。主に以下の2つの構造で構成されています。

1. オブジェクト(Object)

オブジェクトは「キー(名前)」と「値(データ)」のペアを波括弧 {} で囲んだ構造です。

JSON
{
  "name": "山田太郎",
  "age": 30,
  "department": "システム部"
}

この例では、nameagedepartment がキーで、それぞれに対応する値が設定されています。キーは必ずダブルクォーテーション(")で囲む必要があります。

2. 配列(Array)

配列は複数の値を角括弧 [] で囲んだ構造です。

JSON
{
  "servers": ["web-server01", "web-server02", "db-server01"]
}

配列内には、文字列、数値、オブジェクト、さらに別の配列を含めることができます。

データ型

JSONで扱えるデータ型は以下の6種類です。

  • 文字列(String): ダブルクォーテーションで囲む "文字列"
  • 数値(Number): そのまま記述 123 または 45.67
  • 真偽値(Boolean): true または false
  • null: 値が存在しないことを表す null
  • オブジェクト: {}で囲まれた構造
  • 配列: []で囲まれた構造

実際の記述例

実務でよく見るJSONファイルの例を見てみましょう。

JSON
{
  "serverConfig": {
    "hostname": "app-server01",
    "ipAddress": "192.168.1.100",
    "port": 8080,
    "sslEnabled": true,
    "maxConnections": 1000,
    "allowedIPs": [
      "192.168.1.10",
      "192.168.1.20",
      "192.168.1.30"
    ],
    "database": {
      "host": "db-server01",
      "port": 3306,
      "username": "appuser",
      "ssl": true
    }
  }
}

この例では、サーバーの設定情報が階層的に整理されています。オブジェクトの中にオブジェクトや配列が含まれている複雑な構造ですが、インデント(字下げ)によって視覚的に分かりやすくなっています。

Windows環境でのJSONファイル確認方法

Windows環境でJSONファイルを確認・編集する方法をご紹介します。

メモ帳での確認

最もシンプルな方法は、Windowsの標準アプリ「メモ帳」で開くことです。

  1. JSONファイルを右クリック
  2. 「プログラムから開く」→「メモ帳」を選択

ただし、メモ帳では構文のハイライトがないため、大きなファイルの場合は見づらくなります。

Visual Studio Codeでの確認(推奨)

より快適に編集するには、Visual Studio Code(無料)の使用をお勧めします。

  1. VS Codeをインストール
  2. JSONファイルを開く
  3. 自動的に構文がカラー表示され、構造が理解しやすくなります

VS Codeでは、JSONの構文エラーも自動的に検出してくれるため、初心者でも安心して編集できます。

PowerShellでの検証

Windows PowerShellを使って、JSONファイルの構文が正しいか確認することもできます。

PowerShell
Get-Content "C:\config\settings.json" | ConvertFrom-Json

このコマンドでエラーが出なければ、JSONの構文は正しいということになります。

実務での活用例

JSONファイルは様々な場面で使用されています。

1. アプリケーションの設定ファイル

多くのアプリケーションがJSONを設定ファイルとして採用しています。例えば、Node.jsのpackage.jsonや、VS Codeのsettings.jsonなどです。

2. APIのデータ通信

WebAPIでは、JSONがデータ送受信の標準フォーマットとして使用されています。サーバーとクライアント間でデータをやり取りする際、JSONで構造化されたデータが送信されます。

3. ログファイルの出力形式

システムのログをJSON形式で出力することで、ログ解析ツールでの処理が容易になります。構造化されたログは検索や集計が行いやすいためです。

4. 設定の自動化スクリプト

PowerShellやPythonなどのスクリプトで設定情報を読み込む際、JSON形式で保存しておくと、プログラムから簡単に読み込んで使用できます。

よくある間違いと注意点

初心者がJSONを扱う際によく陥る間違いをご紹介します。

1. カンマの位置

JSON
// ❌ 間違い:最後の要素の後にカンマがある
{
  "name": "山田太郎",
  "age": 30,
}

// ✅ 正しい:最後の要素の後にカンマは不要
{
  "name": "山田太郎",
  "age": 30
}

配列やオブジェクトの最後の要素の後にカンマを付けてしまうと、エラーになります。

2. キーのクォーテーション

JSON
// ❌ 間違い:キーにクォーテーションがない
{
  name: "山田太郎"
}

// ✅ 正しい:キーは必ずダブルクォーテーションで囲む
{
  "name": "山田太郎"
}

JSONでは、キーは必ずダブルクォーテーションで囲む必要があります。シングルクォーテーション(')も使用できません。

3. コメントの記述

JSONの仕様では、コメントを記述することができません。設定ファイルとして使う場合、コメントを入れたくなりますが、標準的なJSONではサポートされていないため注意が必要です。

4. 文字コードの問題

Windows環境でメモ帳を使って編集する際、文字コードが「ANSI」になっていると、日本語が正しく表示されないことがあります。「UTF-8」で保存するようにしましょう。

5. 構造の階層が深すぎる

JSONは階層構造を作れますが、あまり深くネストさせすぎると可読性が低下します。3〜4階層程度に抑えることを意識しましょう。

JSONとXMLの違い

似たようなデータ形式として「XML」がありますが、JSONとXMLにはいくつかの違いがあります。

JSON

  • 記述がシンプルで読みやすい
  • データサイズが小さい
  • JavaScriptと親和性が高い
  • 配列の表現が直感的

XML

  • タグで構造を表現
  • 属性を持てる
  • より複雑なデータ構造に対応
  • スキーマ定義が厳密

最近のWeb開発では、シンプルで軽量なJSONが主流となっています。

まとめ

JSONファイルは、一見複雑に見えるかもしれませんが、基本的な構造は「オブジェクト」と「配列」のシンプルな組み合わせです。以下のポイントを押さえておけば、十分に理解できます。

  • キーと値のペアを波括弧 {} で囲む
  • 配列は角括弧 [] で囲む
  • キーは必ずダブルクォーテーションで囲む
  • 最後の要素の後にカンマは付けない
  • インデントを使って視覚的に見やすくする

実務でJSONファイルに遭遇したら、まずは構造をよく観察してください。階層構造を意識しながら読んでいくと、どのようなデータが格納されているのかが理解できるはずです。

最初は少し戸惑うかもしれませんが、何度か触れているうちに自然と読めるようになります。この記事を参考に、ぜひJSONファイルを実際に開いて確認してみてください。

 

【注意】

このブログは技術に関する知識や経験を共有することを目的としており、情報の正確性に努めていますが、その内容の正確性や完全性を保証するものではありません。ブログの情報を利用する場合は、自己の責任において行動してください。ブログの内容に基づいて行った行動や決定によって生じた損害や被害について、筆者は一切の責任を負いません。

 

記事の内容の一部は、生成AIで作成しています。

windowsITナレッジ
この記事の作者
StarTeller

30歳で異業種からITエンジニアへ転身し、10年以上にわたりインフラエンジニアとして様々な現場でシステム構築・運用に携わってきました。
得意分野はLinux/Windowsのサーバー構築・運用で、ネットワークやAWSなども実務で活用しています。このブログでは、これまでの業務で培った経験を基に、日々の業務で遭遇した問題の解決方法や、システム構築の具体的な手順を解説。現場のエンジニアが実際に「困ったとき」に参照できる情報を意識して投稿していこうと思っています。
※サーバ運用費がかかっているので、広告を掲載させて頂いてます。

StarTellerをフォローする
シェアする
StarTellerをフォローする

コメント

タイトルとURLをコピーしました