JavaScript 物件序列化

admin發表於2019-07-10

物件序列化是一項很重要的操作,對於資料傳輸與儲存有著重要的意義,下面對其進行一下介紹。

可能很多朋友已經多次或者頻繁應用物件序列化操作,但是並沒有意識到。

一.物件序列化概念:

所謂物件序列化,就是將物件轉換為可以儲存或者傳輸的狀態的過程。

通俗點講,就是將物件轉換為字串形式,以便於傳輸或者儲存。

如果再具體一點,那就是將物件轉換為JSON格式字串的操作。

二.為什麼要進行序列化:

序列化操作可能大家都已經在用,但並沒有意識進行此操作,或者說不知道為何要進行序列化。

首先看一個簡單的程式碼例項:

[JavaScript] 純文字檢視 複製程式碼
let obj={
  webName:"螞蟻部落",
  age:4,
  address:青島市南區
}

上述程式碼建立一個簡單的物件直接量,執行之後會出現如下情況:

(1).在生命週期內,此物件存在於記憶體之中。

(2).如果出現意外情況,比如斷電或者電腦損壞,此物件不會停留在記憶體中,更不會被儲存在硬碟中。

(3).如果想要將其永久性儲存在硬碟中,需要將其序列化為一個字串形式。

(4).序列化完成之後,便可以對其進行儲存或者傳輸,如果需要還可以將其轉換為物件。

三.序列化和反序列化操作:

下面通過簡單的程式碼例項介紹一下如何進行序列化操作。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
let obj={
  webName:"螞蟻部落",
  age:4,
  address:"青島市南區"
}
console.log(JSON.stringify(obj));

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201907/10/233752c7y84q6yyq71i844.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

列印的結果就是我們所說的JSON格式字串,這也是當前最為流行的傳輸和儲存物件資料的方式。

如果想要將字串還原成原來的物件形式,看如下程式碼例項:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let obj={
  webName:"螞蟻部落",
  age:4,
  address:"青島市南區"
}
let objStr=JSON.stringify(obj)
console.log(JSON.parse(objStr).webName);

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201907/10/233827z9v86jd9jx0p09tx.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

通過上面的介紹,我們明確了為什麼要進行序列化,以及序列化與反序列化操作。

方法的具體使用本文不再介紹,可以參閱如下兩篇文章:

(1).JSON.stringify() 方法一章節。

(2).JSON.parse() 方法一章節。

相關文章