HTTP Networking(6) JSON
JSON格式
JSON 就是字串版的 JavaScrip 物件格式,是由美國程式設計師道格拉斯·克羅克福特構想和設計的一種輕量級資料交換格式。其內容由屬性和值所組成。
因為JavaScrip 的物件只存在專案的變數中,當我們想將物件向外傳遞時(例如使用 http request),需要先將資料轉成 JSON 格式。
1 | // JSON 格式 |
將JSON轉換成物件
要在 js 中使用 json 的資料,要先將json轉換成 js 的物件。
js的 fetch()
api 有提供轉換的方法
1 | const resp = await fetch(...) |
並不只用於 JavaScrip
雖然 JSON 的全名是 JavaScript Object Notation,但不代表 JSON 只用於 JavaScript。
其他程式語言如 Java、Node.js、C# 也會使用。
JSON.STRINGIFY()
JSON.stringify()
方法會帶入一個 JavaScrip 的物件,並將其轉成 JSON格式。當要將物件轉成json 傳到server 或資料庫時常用。
JSON.parse()
JSON.parse() 則是將 JSON 格式轉成 JavaScrip 的物件。
1 | const json = '{"title": "Avengers Endgame", "Rating":4.7, "inTheaters":false}'; |
XML
XML(Extensible Markup Language),和 JSON 一樣也是一個資料交換格式。
XML 的格式有點像 HTML,以下為 範例
1 | <root> |
上面的 xml 格式若用 json 表達如下
1 | { |
用 xml 或 json ?
xml 和 json 的功能都是資料交換的格式,但 json 更易懂,並在現代程式語言中有更好的支援。