Node.js は、非常に人気のあるサーバーサイド JavaScript ランタイム環境です。これは、高パフォーマンスの Web アプリケーションを構築するための強力なツールです。 API 関数からデータを収集する必要がある場合、HTTP リクエストは不可欠です。最新の API のほとんどは JSON 形式でデータを返すため、JSON データをリクエストして返す方法を処理することは、Node.js における非常に重要なタスクです。
Node.js では、組み込みの http
モジュールを使用して HTTP リクエストを作成できます。 HTTP リクエストを送信してリモート サーバーからデータを取得し、それを JSON 形式のデータに解析できます。以下は、Node.js を使用して HTTP リクエストを作成し、JSON レスポンスを受信する例です。
const https = require('https'); const options = { hostname: 'api.example.com', port: 443, path: '/data', method: 'GET' }; const req = https.request(options, res => { console.log(`statusCode: ${res.statusCode}`); let data = ''; res.on('data', d => { data += d; }); res.on('end', () => { const json = JSON.parse(data); console.log(json); }); }); req.on('error', error => { console.error(error); }); req.end();
上記の例では、https
モジュールは request()# を提供します。
##options オブジェクトをパラメータとして渡す関数。このオブジェクトには、ホスト名、ポート、リクエスト パス、リクエスト メソッドなどの情報が含まれます。
request() 関数は
http.ClientRequest オブジェクトを返します。このオブジェクトの
end() メソッドを呼び出してリクエストを送信できます。
JSON.parse() 関数を使用して、バッファ内のデータを JSON 形式のデータに解析できます。
const https = require('https'); const options = { hostname: 'api.example.com', port: 443, path: '/data', method: 'GET' }; const req = https.request(options, res => { let data = ''; res.on('data', d => { data += d; }); res.on('end', () => { const json = JSON.parse(data); console.log(json); }); }); req.on('error', error => { console.error(error); }); req.end();
request() 関数のコールバックで応答ステータス コードをチェックする必要があります。ステータス コードが 200 でない場合は、
res.statusMessage フィールドを使用して応答ステータス メッセージを取得できます。
const https = require('https'); const options = { hostname: 'api.example.com', port: 443, path: '/data', method: 'GET' }; const req = https.request(options, res => { if (res.statusCode !== 200) { console.error(`请求失败: ${res.statusMessage}`); res.resume(); return; } let data = ''; res.on('data', d => { data += d; }); res.on('end', () => { const json = JSON.parse(data); console.log(json); }); }); req.on('error', error => { console.error(error); }); req.end();
res.resume() メソッドを呼び出してキャッシュをクリアし、データの処理時に応答を終了します。コードが原因ではないリクエスト エラーが発生した場合は、
res.resume() メソッドを呼び出すと便利な場合があります。
以上がnodejsリクエストはjsonデータを返しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。