Skip to main content

Command Palette

Search for a command to run...

序列化 serialization

Updated
•1 min read•View as Markdown

之前看文章偶爾會看到「序列化」這個名詞,不太了解甚麼意思,順手查一下定義和應用:

In computing, serialization (or serialisation) is the process of translating a data structure or object state into a format that can be stored or transmitted and reconstructed later (possibly in a different computer environment).

根據維基百科的定義,「序列化」是指將某資料的結構或狀態轉成可存取或傳輸並能在異地恢復其原本型態的一種資料格式轉換過程。

簡單來說,「序列化」就是將資料轉換成其他電腦可使用的格式,例如把資料儲存成硬碟可讀取的檔案、可用網路傳輸的二進位制或其他格式等等;相反地,把轉換後的資料再恢復為原本型態的過程即稱為「反序列化(deserialization, unserialization)」。

以前端來說最常見的序列化應用就是,當我們把一個JavaScript寫成的物件要透過API傳送給後端,但因為後端可能使用其他程式語言而無法讀懂JavaScript object語法,這個時候通常我們會將資料轉換成常見的傳輸格式,如使用 JSON.stringfy() 轉換成JSON格式,再進行傳輸,虛擬碼如下:

const item = {
    name: 'pencil',
    value: 5
};

// 傳送給後端
await fetch('https://inventory-management.com/order', {
    method: 'POST',
    body: JSON.stringfy(item)    // serialization
});

References

More from this blog

Vite: vite-plugin-html的bugs和坑

因為工作要用Vite去生成一個mpa專案且根據頁面不同,動態生成不同 <title> 的HTML,所以就找了一個套件──vite-plugin-html,結果因為套件好像很久沒維護,隨著Vite升級又多了一些有的沒的bug,順手來記錄一下。 template delete 像我第一個就是遇到生成的時候template HTML也會被刪掉,後來看到issue上也有人反映,還好有好心人士解決這個問題,

Feb 26, 20261 min read5

Lun's Blog

82 posts

Notes for web development