【プログラミング】【設定】JSONファイルについて - j-komatsu/myCheatSheet GitHub Wiki

JSONファイルについて

📌 初学者向け

JSONとは?

JSON(ジェイソン)は「JavaScript Object Notation」の略で、データを構造化して表現するための軽量フォーマットです。
主にAPIや設定ファイルで使用されます。

📦 たとえば、箱に名前や住所の情報を詰めて送るようなイメージです。


特徴まとめ

特徴 内容
軽量 テキストベースでシンプルな構造
読みやすい 人間にも機械にも読みやすい形式
データ交換に便利 JavaScriptをはじめ、多くの言語がサポート
構造化データ オブジェクトや配列などネスト構造に対応

JSONの基本構造

{
  "name": "Taro",
  "age": 25,
  "isStudent": true
}
  • {} はオブジェクト(連想配列)
  • "key": value の形でデータを格納
  • 文字列はダブルクオート " " で囲む

読み方の例(たとえ話)

{
  "name": "Hanako",
  "hobby": ["reading", "swimming"]
}

これは「Hanakoさんは読書と水泳が趣味です」と読むことができます。


Mermaid.jsでの構造フロー図

graph TD;
    JSON --> name["name: 'Hanako'"]
    JSON --> hobby["hobby: ['reading', 'swimming']"]

JSONの使用例(設定ファイル)

{
  "appName": "myApp",
  "version": "1.0.0",
  "debug": false
}

これはアプリの設定ファイルとして使えます。


🔍 専門者向け

データ型一覧

型名 備考
文字列 "text" ダブルクオート必須
数値 123 整数・小数どちらもOK
真偽値 true / false 小文字
null null 値なし
配列 [1, 2, 3] 順序ありのデータ集合
オブジェクト {"key": "value"} キーと値のペア

ネストされたJSONの例

{
  "user": {
    "id": 1,
    "profile": {
      "name": "Jiro",
      "skills": ["JavaScript", "Python"]
    }
  }
}
  • userprofileskills のように階層的にデータを持つことが可能。

入出力の具体例(JavaScript)

入力データ(JSON形式)

{
  "title": "Example Book",
  "price": 1800,
  "inStock": true
}

JavaScriptで読み込む

const data = `{
  "title": "Example Book",
  "price": 1800,
  "inStock": true
}`;

const parsed = JSON.parse(data);
console.log(parsed.title); // → "Example Book"

JavaScriptで出力する

const obj = {
  title: "New Book",
  price: 2000,
  inStock: false
};

const jsonString = JSON.stringify(obj, null, 2);
console.log(jsonString);

JSONと他フォーマットの比較表

比較項目 JSON YAML XML
可読性
記述量 △(記号が多い) ◎(シンプル) △(冗長)
機械処理
コメント記述 ×

JSONを扱う注意点

  • コメントは書けない
  • 文字列は必ずダブルクオート(シングル不可)
  • 最後のカンマ(,)は禁止
  • ネストが深すぎると可読性が低下する

🛠 JSONを扱う便利ツール

ツール名 用途 URL
JSONLint フォーマット検証 https://jsonlint.com/
quicktype 型定義自動生成 https://quicktype.io/
jq CLIでJSON処理 https://stedolan.github.io/jq/

✅ まとめ

  • JSONは「データをやりとりするための共通言語」
  • オブジェクト・配列・文字列など基本を押さえれば誰でも扱える
  • 実装では JSON.parse()JSON.stringify() を活用しよう