【Node.js/Express】JSONデータを取得

Node.jsモジュール「Express」でPOSTされたJSONデータを受け取る方法を入門者向けにサンプルコード付きでまとめました。

JSONデータの受信

Node.jsモジュール「Express」では、json() を用いてメソッドでPOSTされたJSONデータを受け取って処理できます。

サンプルコード

サンプルプログラムのソースコードです。
■index.js(サーバー側)

var express = require('express');
// ポート番号
var port = 8080;

var app = express();
var bodyParser = require('body-parser');

// json形式でパース
app.use(bodyParser.json());

// POSTされたデータの取得
app.post('/', function(req, res) {
  for (key in req.body) {
    console.log(key, '=', req.body[key]); // 取得データの出力
  }
  res.end();
});
app.listen(port);

実行手順

①ターミナル(Windowsならコマンドプロンプト)を開きます。

② 以下のコマンドを実行します。
※Webサーバー側の起動

node <index.jsのファイルパス>
注意事項
※1 <index.jsのファイルパス>はindex.jsを配置した場所によって適宜変更
※2 Windowsならカレントディレクトリは「C:\Users\ユーザー名」

③ 手順②とは別に、もう1つターミナル(Windowsならコマンドプロンプト)を開きます。
※クライアント側用

④ 以下のコマンドを実行します。(JSONデータをHTTPで送信)
※クライアント側でWebサーバーへアクセス

curl -X POST -H 'Content-Type: application/json' -d '{"Name":["Savar", "Archer"],"ATK":[13465, 12154]}'  http://localhost:8080/

参考:【UNIXコマンド】curlでHTTPアクセス

⑤ 手順②で開いたターミナルに取得したPOSTデータが出力されます。

関連ページ
1 【Node.js入門】サンプル集と使い方まとめ
関連記事