株式会社renue
AI導入・DXの悩みをプロに相談してみませんか?
AIやDXに関する悩みがありましたら、お気軽にrenueの無料相談をご利用ください。 renueのAI支援実績、コンサルティングの方針や進め方をご紹介します。
JSONとは?データ交換の世界標準フォーマット
JSON(JavaScript Object Notation)とは、データを人間にも機械にも読みやすい形式で表現するための軽量なデータ交換フォーマットです。名前に「JavaScript」とありますが、Python・Java・Go・TypeScriptなどほぼすべてのプログラミング言語で標準サポートされており、2026年現在のWeb API・モバイルアプリ・AIシステムにおける事実上のデータ交換標準です。
JSONの特徴は「シンプルさ」にあります。キーと値のペア(オブジェクト)と配列の2つの構造だけで、複雑なデータを表現できます。XMLと比較して記述量が少なく、パースも高速なため、REST APIのレスポンス形式として圧倒的に普及しています。
JSONの基本構文
データ型
JSONで使えるデータ型は以下の6種類です。
| データ型 | 例 | 説明 |
|---|---|---|
| 文字列 | "hello" | ダブルクォーテーションで囲む(シングルクォート不可) |
| 数値 | 42, 3.14 | 整数・小数。クォートなし |
| 真偽値 | true, false | 小文字のみ(True/Falseは不可) |
| null | null | 値がないことを示す(小文字のみ) |
| 配列 | [1, 2, 3] | 角括弧で囲む。異なる型の混在も可能 |
| オブジェクト | {"key": "value"} | 波括弧で囲む。キーは必ず文字列 |
JSON記述の基本ルール
- キーは必ずダブルクォーテーションで囲む(シングルクォート不可)
- 末尾カンマ(trailing comma)は禁止
- コメントは書けない(JSONの仕様上サポートされていない)
- エンコーディングはUTF-8が標準
実用的なJSONの例
{
"company": "株式会社サンプル",
"founded": 2021,
"employees": 26,
"services": ["AIコンサルティング", "DX推進", "広告AI"],
"isActive": true,
"contact": {
"website": "https://example.co.jp"
}
}
JSON・XML・CSVの比較
| 項目 | JSON | XML | CSV |
|---|---|---|---|
| 可読性 | 高い | 中程度(タグが冗長) | 低い(ヘッダー依存) |
| データ量 | 少ない | 多い(開閉タグ) | 最少 |
| ネスト(階層構造) | 自然に表現可能 | 自然に表現可能 | 不可能 |
| スキーマ定義 | JSON Schema | XSD / DTD | なし |
| 主な用途 | Web API・設定ファイル | SOAP API・文書交換 | 表データ・Excel連携 |
| パース速度 | 高速 | やや遅い | 高速 |
| コメント | 非対応 | 対応 | 非対応 |
2026年現在、新規開発でXMLを選ぶケースはほぼなく、REST API・GraphQL・WebSocket通信のデータ形式はJSONが圧倒的多数です。CSVはExcelとの互換性が必要な場合や大量の表形式データの受け渡しで使われます。
JSONとAPI:現代のシステム連携の基盤
REST APIにおけるJSON
REST APIでは、リクエストボディとレスポンスの両方にJSONが使われます。HTTPヘッダーで「Content-Type: application/json」を指定し、JSONデータを送受信します。
一般に、モダンなWeb APIではJSONを入出力フォーマットとして採用し、スキーマ定義により型安全なバリデーションを行う構成が広く用いられています。CMS APIとの連携、ECプラットフォームAPIとの統合、分析APIとの接続など、複数の外部サービスとのJSON通信を日常的に運用しています。
GraphQLにおけるJSON
GraphQLのレスポンスもJSON形式です。REST APIが固定のJSONスキーマを返すのに対し、GraphQLではクライアントが必要なフィールドだけを指定でき、過不足のないJSONレスポンスを得られます。
JSON Schema:データ構造の定義と検証
JSON Schemaは、JSONデータの構造(どんなキーがあるか、型は何か、必須かどうか等)を定義するための仕様です。APIのリクエスト/レスポンスの仕様書として、またデータバリデーションの自動化手段として広く使われています。
- API仕様の自動生成:FastAPIやSwagger/OpenAPIがJSON Schemaベースでドキュメントを自動生成
- 入力バリデーション:フォームデータやAPIリクエストをJSON Schemaで検証
- コード生成:JSON SchemaからPydanticモデルやTypeScript型を自動生成
AI時代のJSON:LLM構造化出力の核心技術
2026年、JSONはAIアプリケーション開発においても中核的な役割を担っています。LLM(大規模言語モデル)の出力をJSON形式で構造化する「Structured Output」は、本番LLMアプリの必須技術として定着しました。
LLM構造化出力の3段階
| レベル | 方式 | 信頼性 |
|---|---|---|
| Level 1 | プロンプトで「JSONで返して」と指示 | 80〜95%(非推奨) |
| Level 2 | Function Calling / Tool Use | 95〜99% |
| Level 3 | Native Structured Output(JSON Schema指定 + Constrained Decoding) | 信頼性が高い |
主要なLLMプロバイダの一部では、ネイティブな構造化出力機能が提供されているとされています。JSON Schemaをプロバイダに渡すと、トークン生成時にスキーマに違反するトークンを自動排除する「Constrained Decoding」により、スキーマ遵守率を大きく高められるとされています。
renueでは、EC売上分析・SEO記事品質評価・広告効果測定など多数のAIシステムでLLM構造化出力を本番運用しており、スキーマ定義と抽象化層を通じて複数のLLMプロバイダと連携しています。
LLM向け新フォーマット:TOON
2026年には、LLMのトークン効率を最適化した新データ形式「TOON(Token-Oriented Object Notation)」も登場しています。表形式で反復的なデータセットにおいて、JSONと比較してトークン量を削減できる場合があるとされ、注目されています。
JSONの実践的な活用シーン
1. 設定ファイル
package.json(Node.js)、tsconfig.json(TypeScript)、settings.json(VS Code)など、多くのツールがJSON形式の設定ファイルを採用しています。
2. CMS連携
Strapi・Contentful・microCMSなどのヘッドレスCMSは、コンテンツをJSON形式のAPIで配信します。renueのコーポレートサイト(3,000記事以上)もヘッドレスCMSからJSON APIでコンテンツを取得し、Next.jsでレンダリングしています。
3. ログ・監視
アプリケーションログをJSON形式(構造化ログ)で出力することで、ログ分析ツール(Elasticsearch、CloudWatch等)での検索・フィルタリングが容易になります。
4. 構造化データマークアップ(SEO)
GoogleはJSON-LD形式の構造化データマークアップを推奨しています。記事・FAQ・商品情報などをJSON-LDで記述することで、検索結果にリッチスニペットとして表示されます。AI検索(Google AI Overview・Bing Copilot・Perplexity)が台頭する中、構造化データの重要性はさらに高まっています。
よくある質問(FAQ)
Q1: JSONとJavaScriptは同じですか?
いいえ。JSONはJavaScriptのオブジェクト記法から派生したデータフォーマットですが、独立した仕様(RFC 8259)です。Python、Java、Go、Rubyなど、あらゆる言語から利用できます。
Q2: JSONにコメントを書けますか?
JSON仕様ではコメントはサポートされていません。設定ファイルでコメントが必要な場合はJSONC(JSON with Comments)やYAML、TOMLなどの代替フォーマットを使います。
Q3: JSONのサイズ制限はありますか?
仕様上のサイズ制限はありませんが、実際にはAPIやデータベースの制限があります。大量データの場合はページネーションやストリーミング処理を組み合わせます。
Q4: JSON SchemaとOpenAPI Specificationの関係は?
OpenAPI SpecificationはREST APIの仕様を定義する標準で、リクエスト/レスポンスのデータ構造定義にJSON Schemaを使用しています。FastAPIはPydanticモデルからJSON Schemaを自動生成し、OpenAPIドキュメント(Swagger UI)を自動構築します。
Q5: JSONとYAMLはどう使い分けますか?
JSONはAPIデータ交換(機械間通信)に最適です。YAMLは人間が読み書きする設定ファイル(docker-compose.yml、CI/CDパイプライン等)に適しています。YAMLはJSONのスーパーセットであり、有効なJSONは全て有効なYAMLです。
API設計・AIシステム構築のご相談
renueでは、FastAPI×PydanticによるJSON API設計から、LLM構造化出力の実装、CMS連携まで一貫して支援しています。JSON Schemaを活用した型安全なAPI開発で、信頼性の高いシステム構築をサポートいたします。
無料相談はこちら →



