レッスン 6

API と設定ファイルにおける JSON

REST payload、設定ファイル、XML や YAML との比較。

文脈の中で JSON を理解すると、形式を賢く選び、ドキュメントをより効果的に読めるようになります。

REST API

HTTP API はボディに JSON を使うことが多く、クエリなし POST payload でも使われます。

POST /users HTTP/1.1
Content-Type: application/json

{"name": "Ada", "role": "admin"}

レスポンスも同じ形式です。ステータスコードは HTTP ヘッダーにあり、JSON はビジネスデータを運びます。スキーマは OpenAPI、JSON Schema、または文章の例で文書化されることがあります。

設定ファイル

package.jsontsconfig.json、多くの CI 設定などは JSON です。利点:

  • プログラムがパースしやすい
  • エディタで広くサポートされている
  • 整形すればバージョン管理で diff しやすい

トレードオフ: 厳格な JSON にはコメントがない(一部ツールはコメント付き JSONC を受け付けるが、移植性のある設定は標準 JSON に留める)。

JSON vs XML

JSONXML
冗長性通常より短いタグが多くなりがち
最小限(string、number など)属性 + テキストノード
スキーマJSON Schema、OpenAPIXSD、DTD
今日の典型的用途Web APIレガシーエンタープライズ、ドキュメント

JSON vs YAML

YAML は設定に人間に優しく、コメントをサポートします。Kubernetes や Docker Compose で一般的です。落とし穴: インデントに敏感、大規模では安全なパースが難しい。JSON はより厳格で信頼できない入力に安全。YAML は人間が大きな設定を手で編集するときに選ばれることが多い。

セキュリティ上の注意

JSON テキストを eval() しない — 専用ライブラリでパースしてください。信頼できない payload にはスキーマで検証し、サイズを制限して DoS リスクを減らしましょう。

コースのまとめ

JSON の構文、型、構造、よくあるエラー、実世界での使い方の基礎が身につきました。API ドキュメントを読む、payload を設計する、pull request で設定変更をレビューするときにこれを活かしてください。

実践したいときは関連する DevCove ツールを使えます。任意であり、このレッスンの必須部分ではありません。

関連ツールを開く

コース概要へ戻る