toJSON() 方法

admin發表於2019-07-13

在介紹詞方法之前首先看一段程式碼例項,以便展開對此方法的介紹。

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let date = new Date();
console.log(JSON.stringify(date));

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

a:3:{s:3:\"pic\";s:43:\"portal/201907/13/134629roov2nb2knozmb5g.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

通過JSON.stringify方法將Date物件例項轉換為JSON字串。

結果是一個時間日期字串,如果一個物件具有toJSON方法,再進行JSON轉換的時候,首先呼叫此方法。

Date物件例項內建了此方法,返回值是上述時間日期字串。

語法結構:

[JavaScript] 純文字檢視 複製程式碼
obj.toJSON()

如果是Date物件,返回UTC時區的ISO格式日期字串(由字尾Z表示)。

瀏覽器支援:

(1).IE8+瀏覽器支援此方法。

(2).edge瀏覽器支援此方法。

(3).谷歌瀏覽器支援此方法。

(4).火狐瀏覽器支援此方法。

(5).opera瀏覽器支援此方法。

(6).safria瀏覽器支援此方法。

我們也可以自定義toJSON方法,簡單程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
let antzone={
  webName:"螞蟻部落",
  age:2
}
antzone.toJSON=function(){
  return "softwhy.com"
}
console.log(JSON.stringify(antzone));

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

a:3:{s:3:\"pic\";s:43:\"portal/201907/13/134746rvxo7osqcc1s22vc.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

通過JSON.stringify方法將物件antzone轉換為JSON資料。

因為物件具有toJSON方法,那麼首先會呼叫此方法,返回值為"softwhy.com"。

由此可見,toJSON的功能也恰如其名,在將資料進行"toJSON"(轉換為JSON)操作的時候呼叫。

相關文章