摘要:語法一般用法擴展用法可以是函數或者是數組。功能通過數組過濾某些屬性只需要屬性和屬性,其他不要。可以是數字或者是字符串如果是數字則表示屬性名前加上空格符號的數量,如果是字符串,則直接在屬性名前加上該字符串。功能類似于的第二個參數的功能。
1 語法
JSON.stringify(value[, replacer[, space]])
一般用法:
var user = {name: "andy", isDead: false, age: 11, addr: "shanghai"}; JSON.stringify(user); "{"name":"andy","isDead":false,"age":11,"addr":"shanghai"}"2 擴展用法 2.1 replacer
replacer可以是函數或者是數組。
功能1: 改變屬性值
將isDead屬性的值翻譯成0或1,0對應false,1對應true
var user = {name: "andy", isDead: false, age: 11, addr: "shanghai"}; JSON.stringify(user, function(key, value){ if(key === "isDead"){ return value === true ? 1 : 0; } return value; }); "{"name":"andy","isDead":0,"age":11,"addr":"shanghai"}"
功能2:刪除某個屬性
將isDead屬性刪除,如果replacer的返回值是undefined,那么該屬性會被刪除。
var user = {name: "andy", isDead: false, age: 11, addr: "shanghai"}; JSON.stringify(user, function(key, value){ if(key === "isDead"){ return undefined; } return value; }); "{"name":"andy","age":11,"addr":"shanghai"}"
功能3: 通過數組過濾某些屬性
只需要name屬性和addr屬性,其他不要。
var user = {name: "andy", isDead: false, age: 11, addr: "shanghai"}; JSON.stringify(user, ["name", "addr"]); "{"name":"andy","addr":"shanghai"}"2.2 space
space可以是數字或者是字符串, 如果是數字則表示屬性名前加上空格符號的數量,如果是字符串,則直接在屬性名前加上該字符串。
功能1: 給輸出屬性前加上n個空格
var user = {name: "andy", isDead: false, age: 11, addr: "shanghai"}; JSON.stringify(user, null, 4); "{ "name": "andy", "isDead": false, "age": 11, "addr": "shanghai" }"
功能2: tab格式化輸出
var user = {name: "andy", isDead: false, age: 11, addr: "shanghai"}; JSON.stringify(user, null, " "); "{ "name": "andy", "isDead": false, "age": 11, "addr": "shanghai" }"
功能3: 搞笑
JSON.stringify(user, null, "good"); "{ good"name": "andy", good"isDead": false, good"age": 11, good"addr": "shanghai" }"2.3 深拷貝
var user = {name: "andy", isDead: false, age: 11, addr: "shanghai"}; var temp = JSON.stringify(user); var user2 = JSON.parse(temp);3 其他
JSON.parse() 其實也是支持第二個參數的。功能類似于JSON.stringify的第二個參數的功能。
4 參考MDN JSON.stringify()
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/91954.html
摘要:會對對象中的每一個鍵值對調用函數,然后會使用其返回值,作為格式化后的值,比如使每個屬性的值遞增函數在省略敏感數據時,十分有用。如果它發現方法,會調用它,然后將它的返回值替換格式化后的值,比如方法可以返回任意的值,包括對象基礎類型,或者。 http://thecodebarbarian.com/t... 寫在前面 JSON.stringfy()是將一個 JavaScript 對象轉化為 ...
摘要:核心點中的強制類型轉換總是返回標量基本類型值。數字化對象在強制轉換為數字的時候,會優先調用方法,如果返回基本類型的值,則直接使用該返回值如果返回值不是基本類型,則會繼續調用方法,如果返回基本類型的值,則直接使用該返回值,否則報錯。 最近在讀《你不知道的javascript》系列圖書,收獲蠻大,感慨也挺多的。是的,關于javascript,你不是不知道,而是真的不知道。?就比如類型轉換,...
摘要:這時候控制臺看到的是對象的快照,然而點開看詳情的話是這段代碼在運行的時候,瀏覽器可能會認為需要把控制臺延遲到后臺,這種情況下,等到瀏覽器控制臺輸出對象內容時,可能已經運行,因此會在點開的時候顯示,這是的異步化造成的。 本書屬于基礎類書籍,會有比較多的基礎知識,所以這里僅記錄平常不怎么容易注意到的知識點,不會全記,供大家和自己翻閱; 上中下三本的讀書筆記: 《你不知道的JavaScri...
摘要:巧前端基礎進階全方位解讀前端掘金我們在學習的過程中,由于對一些概念理解得不是很清楚,但是又想要通過一些方式把它記下來,于是就很容易草率的給這些概念定下一些方便自己記憶的有偏差的結論。 計算機程序的思維邏輯 (83) - 并發總結 - 掘金從65節到82節,我們用了18篇文章討論并發,本節進行簡要總結。 多線程開發有兩個核心問題,一個是競爭,另一個是協作。競爭會出現線程安全問題,所以,本...
閱讀 3577·2021-10-11 10:59
閱讀 1597·2021-09-29 09:35
閱讀 2265·2021-09-26 09:46
閱讀 3776·2021-09-10 10:50
閱讀 957·2019-08-29 12:17
閱讀 826·2019-08-26 13:40
閱讀 2440·2019-08-26 11:44
閱讀 2108·2019-08-26 11:22