摘要:語法一般用法擴(kuò)展用法可以是函數(shù)或者是數(shù)組。功能通過數(shù)組過濾某些屬性只需要屬性和屬性,其他不要。可以是數(shù)字或者是字符串如果是數(shù)字則表示屬性名前加上空格符號(hào)的數(shù)量,如果是字符串,則直接在屬性名前加上該字符串。功能類似于的第二個(gè)參數(shù)的功能。
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 擴(kuò)展用法 2.1 replacer
replacer可以是函數(shù)或者是數(shù)組。
功能1: 改變屬性值
將isDead屬性的值翻譯成0或1,0對(duì)應(yīng)false,1對(duì)應(yīng)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:刪除某個(gè)屬性
將isDead屬性刪除,如果replacer的返回值是undefined,那么該屬性會(huì)被刪除。
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: 通過數(shù)組過濾某些屬性
只需要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可以是數(shù)字或者是字符串, 如果是數(shù)字則表示屬性名前加上空格符號(hào)的數(shù)量,如果是字符串,則直接在屬性名前加上該字符串。
功能1: 給輸出屬性前加上n個(gè)空格
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() 其實(shí)也是支持第二個(gè)參數(shù)的。功能類似于JSON.stringify的第二個(gè)參數(shù)的功能。
4 參考MDN JSON.stringify()
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/91954.html
摘要:會(huì)對(duì)對(duì)象中的每一個(gè)鍵值對(duì)調(diào)用函數(shù),然后會(huì)使用其返回值,作為格式化后的值,比如使每個(gè)屬性的值遞增函數(shù)在省略敏感數(shù)據(jù)時(shí),十分有用。如果它發(fā)現(xiàn)方法,會(huì)調(diào)用它,然后將它的返回值替換格式化后的值,比如方法可以返回任意的值,包括對(duì)象基礎(chǔ)類型,或者。 http://thecodebarbarian.com/t... 寫在前面 JSON.stringfy()是將一個(gè) JavaScript 對(duì)象轉(zhuǎn)化為 ...
摘要:走在前端的大道上持續(xù)更新,最后更新時(shí)間年月日從作用域說開去不再彷徨完全弄懂中的譯文總結(jié)你不知道的妙用深入理解之和中的對(duì)象拷貝高度自適應(yīng)的個(gè)方法中與區(qū)別中回調(diào)地獄的今生前世細(xì)談中的一些設(shè)計(jì)模式重溫核心概念和基本用法圖片預(yù)加載及插件編寫實(shí)例跨域 走在前端的大道上 持續(xù)更新,最后更新時(shí)間2017年6月19日 從 JavaScript 作用域說開去 不再彷徨:完全弄懂JavaScript中的...
摘要:核心點(diǎn)中的強(qiáng)制類型轉(zhuǎn)換總是返回標(biāo)量基本類型值。數(shù)字化對(duì)象在強(qiáng)制轉(zhuǎn)換為數(shù)字的時(shí)候,會(huì)優(yōu)先調(diào)用方法,如果返回基本類型的值,則直接使用該返回值如果返回值不是基本類型,則會(huì)繼續(xù)調(diào)用方法,如果返回基本類型的值,則直接使用該返回值,否則報(bào)錯(cuò)。 最近在讀《你不知道的javascript》系列圖書,收獲蠻大,感慨也挺多的。是的,關(guān)于javascript,你不是不知道,而是真的不知道。?就比如類型轉(zhuǎn)換,...
摘要:這時(shí)候控制臺(tái)看到的是對(duì)象的快照,然而點(diǎn)開看詳情的話是這段代碼在運(yùn)行的時(shí)候,瀏覽器可能會(huì)認(rèn)為需要把控制臺(tái)延遲到后臺(tái),這種情況下,等到瀏覽器控制臺(tái)輸出對(duì)象內(nèi)容時(shí),可能已經(jīng)運(yùn)行,因此會(huì)在點(diǎn)開的時(shí)候顯示,這是的異步化造成的。 本書屬于基礎(chǔ)類書籍,會(huì)有比較多的基礎(chǔ)知識(shí),所以這里僅記錄平常不怎么容易注意到的知識(shí)點(diǎn),不會(huì)全記,供大家和自己翻閱; 上中下三本的讀書筆記: 《你不知道的JavaScri...
摘要:巧前端基礎(chǔ)進(jìn)階全方位解讀前端掘金我們?cè)趯W(xué)習(xí)的過程中,由于對(duì)一些概念理解得不是很清楚,但是又想要通過一些方式把它記下來,于是就很容易草率的給這些概念定下一些方便自己記憶的有偏差的結(jié)論。 計(jì)算機(jī)程序的思維邏輯 (83) - 并發(fā)總結(jié) - 掘金從65節(jié)到82節(jié),我們用了18篇文章討論并發(fā),本節(jié)進(jìn)行簡(jiǎn)要總結(jié)。 多線程開發(fā)有兩個(gè)核心問題,一個(gè)是競(jìng)爭(zhēng),另一個(gè)是協(xié)作。競(jìng)爭(zhēng)會(huì)出現(xiàn)線程安全問題,所以,本...
閱讀 3587·2021-10-11 10:59
閱讀 1601·2021-09-29 09:35
閱讀 2270·2021-09-26 09:46
閱讀 3786·2021-09-10 10:50
閱讀 964·2019-08-29 12:17
閱讀 832·2019-08-26 13:40
閱讀 2443·2019-08-26 11:44
閱讀 2118·2019-08-26 11:22