[筆記] 資料格式的選擇 XML 和 JSON


Posted by tzutzu858 on 2020-07-13

純文字與自定義格式
定義 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










Related Posts

關於 JavaScript 的提升 (Hoisting)

關於 JavaScript 的提升 (Hoisting)

 網站部署 --AWS EC2 雲端主機 + LAMP Server + phpMyAdmin

網站部署 --AWS EC2 雲端主機 + LAMP Server + phpMyAdmin

鴨子型別 - 能做什麼比是什麼重要!

鴨子型別 - 能做什麼比是什麼重要!


Comments