JSON.stringify 函式引數分析

silenceboy發表於2016-07-16

JSON.stringify是將 JavaScript 值轉換為 JavaScript 物件表示法 。
語法為:JSON.stringify(value [, replacer] [, space])
很多人都只會用到第一個引數,所以導致很多人不知道後兩個引數是什麼意思,下面對三個引數進行分析:

value
必需。 要轉換的 JavaScript 值(通常為物件或陣列)。

replacer
可選。 用於轉換結果的函式或陣列。
如果 replacer 為函式,則 JSON.stringify 將呼叫該函式,並傳入每個成員的鍵和值。 使用返回值而不是原始值。 如果此函式返回 undefined,則排除成員。 根物件的鍵是一個空字串:””。
如果 replacer 是一個陣列,則僅轉換該陣列中具有鍵值的成員。 成員的轉換順序與鍵在陣列中的順序一樣。 當 value 引數也為陣列時,將忽略 replacer 陣列。

space
可選。 向返回值 JSON 文字新增縮排、空格和換行符以使其更易於讀取。
如果省略 space,則將生成返回值文字,而沒有任何額外空格。
如果 space 是一個數字,則返回值文字在每個級別縮排指定數目的空格。 如果 space 大於 10,則文字縮排 10 個空格。
如果 space 是一個非空字串(例如“t”),則返回值文字在每個級別中縮排字串中的字元。
如果 space 是長度大於 10 個字元的字串,則使用前 10 個字元。

相關文章