純文字與自定義格式
定義 response
狀態 : 良好
沒其他事情
但這樣會有些問題
在我處理 request 這端必須要有自己的規格去判斷這個 response 是什麼
if (response.body.indexOf('狀態 : 良好') >= 0) {
.......
}
用純文字的好處就是可以定義任何你想要的格式
壞處就是你也要去寫你要怎麼處理這個格式的 function
所以自定義差不多就是這樣
一般來說會用 XML 和 JSON
XML
可延伸標記式語言(Extensible Markup Language)
跟 HTML 很像是因為他們都是 Markup Language 標記式語言
JSON
(JavaScript Object Notation),JavaScript 物件表示法
回傳就是一個 JSON 格式的物件
但印出來的東西是個 String
所以如果 console.log(body.data);
是會 undefined
因此,要用 JavaScript 裡面 const json = JSON.parse(body)
,裡面是要放 JSON 格式的字串
那出來就會是 JavaScript 的 object
才可以console.log(json.data.first_name);
const request = require('request');
request('https://reqres.in/api/users/2',
function (error, response, body) {
const json = JSON.parse(body)
console.log(json.data.first_name);
}
);
const obj = {
name:'tzu',
job:'none'
}
console.log(obj) // 印出物件
const obj = {
name:'tzu',
job:'none'
}
console.log(JSON.stringify(obj)) // 把 obj 變成 JSON 格式的字串
上面兩個印出結果如下
複習 :
const json = JSON.parse(body)
把一個 JSON 格式的字串,轉回 JavaScript 物件
JSON.stringify(obj)
把一個 JavaScript 物件轉成 JSON 格式的字串
雖然它叫 JSON ,但它是可以 Python 、C++、在任何的 C 語言都有可以處理 JSON 的 library