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 個字元。