nodeJS get JSON, 在 nodeJS server 直接取得 Http JSON

目標:

  1. 利用 nodeJS server http service get JSON api.
  2. 使用 fs 另儲存 JSON 檔案。

一個簡單的 get api 範例程式架構如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// require nodeJS 內建 http 模組.
var http = require("http");
// require nodeJS 內建 File System 模組.
var fs = require("fs");
// JSON api URL 先存在變數中,只是為了方便看 code.
var url = 'http://hungjie19.github.io/myapi/test.json';
// 使用 http 中 get 方法
http.get(url, function(response){
var data = '';
// response event 'data' 當 data 陸續接收的時候,用一個變數累加它。
response.on('data', function(chunk){
data += chunk;
});
// response event 'end' 當接收 data 結束的時候。
response.on('end', function(){
// 將 JSON parse 成物件
data = JSON.parse(data);
// console.log(data); // 可開啟這行在 Command Line 觀看 data 內容
// 對 data 做處理,寫你的 code !!
/* 儲存成 JSON
* fs.writeFile 使用 File System 的 writeFile 方法做儲存
* 傳入三個參數( 存檔名, 資料, 格式 )
*/
fs.writeFile( 'save.json', JSON.stringify( data ), 'utf8');
});
}).on('error', function(e){ // http get 錯誤時
console.log("error: ", e);
});

Reference: