JSON形式のデータ送受信

Node.jsの「API開発とREST設計」における「JSON形式のデータ送受信」について詳しく説明します。


1. JSONとは

JSON(JavaScript Object Notation)は、軽量で人間にも読みやすく、機械でも解析しやすいデータフォーマットです。キーと値のペアで構成されており、Web APIではデータの送受信形式として広く利用されています。

json
{ "name": "Taro", "age": 25 }

2. Node.jsとJSON送受信の基本

Node.jsでは、JSON形式のリクエストを受け取り、JSON形式でレスポンスを返すことが一般的です。主に使用するのはExpressフレームワークです。


3. JSONリクエストの受信(リクエストボディの解析)

必要な設定

express.json()というミドルウェアを使用して、リクエストボディをJSONとして自動的に解析できます。

javascript
const express = require('express'); const app = express(); app.use(express.json()); // JSONボディを自動解析

例:POSTリクエストの受信

javascript
app.post('/api/users', (req, res) => { const user = req.body; // JSONデータを取得 console.log(user.name); // 例えば"name"フィールドを取り出す res.status(201).json({ message: 'User created', user }); });

クライアントが送るJSON例:

json
{ "name": "Hanako", "email": "hanako@example.com" }

4. JSONレスポンスの送信

res.json()メソッドを使うことで、簡単にJSON形式でレスポンスを返せます。

javascript
app.get('/api/status', (req, res) => { res.json({ status: 'OK', timestamp: Date.now() }); });

この例では、クライアントに以下のようなJSONレスポンスが返されます:

json
{ "status": "OK", "timestamp": 1729935823951 }

5. 注意点とベストプラクティス

  • express.json()は必ず先に呼び出すこと(ルーティングより前に設定する)。

  • Content-Typeヘッダーapplication/jsonを明示することで、クライアントがJSONを送る意図を示す。

  • 適切なHTTPステータスコードと組み合わせて使用する(例:201 Created、200 OK、400 Bad Requestなど)。


まとめ

Node.jsでJSON形式のデータを送受信するには、express.json()でリクエストボディを解析し、res.json()でレスポンスを返す方法が基本です。これにより、REST APIとしての標準的な設計が可能となり、フロントエンドや他のシステムとのスムーズな通信が実現できます。

ChatGPT4o 生成日:2025/06/25