開発

JSONとは?書き方・構文・よくあるエラーをやさしく解説する入門ガイド

JSONはWeb APIや設定ファイルで最もよく使われるデータ形式です。本記事では「JSONとは何か」から、オブジェクト・配列・データ型といった構文の基本、初心者がつまずきやすい末尾カンマなどのエラー、そして整形・検証・YAML変換・差分比較という実務での活用法までを、順を追ってやさしく解説します。

公開: 2026-10-16

アプリ開発やAPI連携に触れると、必ずと言ってよいほど出会うのが「JSON」です。設定ファイル、Web APIのレスポンス、データの保存形式など、あらゆる場面で使われています。本記事では、JSONをはじめて学ぶ方に向けて、その正体と書き方、よくある落とし穴、実務での扱い方を解説します。

JSONとは何か

JSON(ジェイソン、JavaScript Object Notation)は、データを文字列として表現するための軽量なフォーマットです。名前の通りJavaScriptの記法をもとに生まれましたが、現在では言語を問わず広く使われる「共通語」になっており、ほぼすべての言語にJSONを読み書きする機能が備わっています。

JSONが好まれる理由は次の3点です。

  • 人にも機械にも読みやすい:テキストなので、エディタで開けば人間が内容を把握でき、プログラムも簡単に解析できます。
  • 言語に依存しない:特定のプログラミング言語に縛られず、システム間でのデータ交換に適しています。
  • 構造を表現できる:単純な値だけでなく、入れ子になった階層構造や一覧を自然に表せます。

たとえば、ある利用者の情報は次のように書きます。

{"name": "山田太郎", "age": 30, "active": true}

このように「キー(名前)」と「値」をペアにして並べるのがJSONの基本です。XMLより記述量が少なく、CSVと違って階層を表せるため、現代のWeb開発における事実上の標準形式となっています。

基本構文:オブジェクトと配列

JSONの構造は、たった2つの入れ物で成り立っています。オブジェクトと配列です。この2つを理解すれば、どんなに複雑なJSONも読み解けます。

オブジェクト(波かっこ)

オブジェクトは { } で囲み、「キー」と「値」のペアを並べたものです。キーは必ずダブルクォートで囲んだ文字列にします。ペアどうしはカンマで区切ります。

{"id": 1, "title": "入門ガイド", "published": true}

ここで重要なのは、キーは 必ず "二重引用符" で囲む という点です。シングルクォートやクォートなしは、JSONでは許されていません。これはJavaScriptのオブジェクト記法との大きな違いで、初心者がよく混同する部分です。

配列(角かっこ)

配列は [ ] で囲み、値を順番に並べたものです。同じ種類の値を一覧として持ちたいときに使います。

["りんご", "みかん", "ぶどう"]

オブジェクトと配列は自由に入れ子にできます。たとえば「複数の利用者の一覧」は、オブジェクトを要素に持つ配列として表現します。

[{"name": "佐藤", "age": 25}, {"name": "鈴木", "age": 40}]

実際のAPIレスポンスは、この入れ子が何層にも重なります。階層が深くなると目で追うのが難しくなるため、後述する整形ツールが役立ちます。

JSONで使えるデータ型

JSONの値として使えるのは、次の6種類だけです。種類が限られているからこそ、シンプルで扱いやすいのです。

型書き方の例説明
文字列"こんにちは"必ずダブルクォートで囲む
数値30、3.14、-5クォートで囲まない。整数も小数も可
真偽値true / false小文字で書く。クォート不要
nullnull「値がない」ことを表す
オブジェクト{ ... }キーと値のペアの集まり
配列[ ... ]値の並び

注意したいのは、数値や真偽値はクォートで囲まない点です。"30" は文字列、30 は数値であり、両者は別物として扱われます。また、JavaScriptにある undefined や関数、日付型はJSONにはありません。日付は通常、文字列(例:"2026-06-28")として表現します。コメント(// や /* */)も書けない点も覚えておきましょう。

よくある構文エラー

JSONは構文に厳格で、ほんの小さなミスでも「読み込めない」エラーになります。初心者がつまずきやすい代表例を押さえておきましょう。

  • 末尾カンマ(トレイリングカンマ):最後の要素のうしろにカンマを残すミス。{"a": 1, "b": 2,} はエラーです。最後の要素にはカンマを付けません。
  • キーをクォートで囲んでいない:{name: "太郎"} は不正。正しくは {"name": "太郎"} です。
  • シングルクォートの使用:{'name': 'A'} は不正。JSONではダブルクォートのみ有効です。
  • かっこの閉じ忘れ・対応ミス:{ } や [ ] の数が合っていないケース。階層が深いほど起こりがちです。
  • コメントの混入:JSONはコメント非対応です。設定ファイルで書きたくなりますが、標準JSONでは構文エラーになります。

こうしたエラーは、目視だけで見つけるのは大変です。JSON整形ツールに貼り付ければ、構文が正しいかを即座に検証し、どこでエラーが起きているかを教えてくれます。同時に、読みやすいインデント付きに整形してくれるため、入れ子の対応関係も一目で確認できます。すべてブラウザ内で処理されるため、機密データを貼り付けても外部に送信される心配はありません。

整形・検証・変換・比較の使いどころ

JSONを実務で扱うとき、よく必要になる作業は決まっています。それぞれに適したツールを知っておくと作業効率が大きく変わります。

整形(フォーマット)と検証

APIから返ってくるJSONは、改行のない1行の状態(ミニファイ)であることが少なくありません。これを人が読める形に直すのが整形です。JSON整形ツールは、改行とインデントを付けて見やすくするだけでなく、不要な空白を削って最小化することもできます。あわせて構文チェックも行うため、「とりあえず貼って正しさを確かめる」用途にも最適です。

YAMLへの変換

設定ファイルの世界では、より人が書きやすいYAML形式もよく使われます。JSONとYAMLは表現できる構造がほぼ同じなので、相互に変換できます。JSON⇔YAML変換ツールを使えば、APIで受け取ったJSONをYAMLの設定ファイルに作り変えたり、逆にYAMLをJSONに戻したりが一瞬で行えます。記法の違いに悩む時間を節約できます。

差分の比較

「変更前と変更後で、どの値が変わったのか」を確認したい場面はよくあります。2つのJSONを目で見比べるのは骨が折れますが、JSON差分ツールを使えば、追加・削除・変更された箇所だけをハイライトして示してくれます。APIのレスポンス比較や設定変更のレビューに重宝します。

実務で役立つ書き方のコツ

最後に、JSONを扱うときに役立つ実践的なポイントをまとめます。

  1. キー名は一貫した命名規則で:camelCase(userName)かsnake_case(user_name)のどちらかに統一すると後の処理が楽になります。
  2. 文字コードはUTF-8で:日本語を含む場合でもUTF-8で保存すれば文字化けを防げます。
  3. 機密情報はブラウザ完結型ツールで:パスワードや個人情報を含むJSONは、データを外部送信しないツールを選ぶと安心です。
  4. 大きなJSONはまず整形:階層を可視化してから読むほうが理解が早まります。
  5. コメントが必要なら別形式を検討:標準JSONはコメント不可なので、注釈が必要な設定にはYAMLなども選択肢になります。

JSONは覚えることが少ないわりに応用範囲が非常に広い形式です。オブジェクトと配列、6つのデータ型、そして末尾カンマなどの基本ルールさえ押さえれば、APIや設定ファイルを自信を持って読み書きできるようになります。まずは手元のJSONをJSON整形ツールに貼って、構造を眺めるところから始めてみてください。

よくある質問

JSONとは何の略ですか?

JSONは「JavaScript Object Notation」の略で、データを文字列として表現する軽量なフォーマットです。JavaScript由来ですが、現在はあらゆるプログラミング言語で読み書きでき、システム間のデータ交換における事実上の標準になっています。

JSONとJavaScriptのオブジェクトは同じものですか?

似ていますが別物です。JSONはキーを必ずダブルクォートで囲む、コメントが書けない、使えるデータ型が限られているなど、より厳格なルールがあります。JavaScriptのオブジェクト記法より制約が多いと考えてください。

JSONでよくあるエラーは何ですか?

最も多いのは末尾カンマ(最後の要素のうしろにカンマを残す)、キーをクォートで囲み忘れる、シングルクォートを使う、かっこの閉じ忘れ、コメントの混入です。JSON整形ツールに貼り付ければエラー箇所をすぐ特定できます。

JSONにコメントは書けますか?

標準のJSONではコメントを書けません。// や /* */ を入れると構文エラーになります。注釈を残したい設定ファイルでは、コメントが書けるYAMLなど別の形式を選ぶ方法もあります。

JSONをこのサイトで扱うとデータは送信されますか?

WAZA TOOLSのJSON整形・JSON⇔YAML変換・JSON差分の各ツールはすべてブラウザ内で処理され、貼り付けた内容がサーバーに送信・保存されることはありません。機密データでも安心してご利用いただけます。