JSON.stringify(value [, replacer] [, space])
JSON.stringify() 方法用于將 JavaScript 值轉(zhuǎn)換為 JSON 字符串。
value:是必選字段。就是你輸入的對(duì)象级乍,比如數(shù)組舌劳,類等。
replacer:這個(gè)是可選的玫荣。它又分為2種方式甚淡,一種是數(shù)組,第二種是方法捅厂。
情況一:replacer為數(shù)組時(shí)贯卦,通過后面的實(shí)驗(yàn)可以知道,它是和第一個(gè)參數(shù)value有關(guān)系的焙贷。一般來(lái)說撵割,系列化后的結(jié)果是通過鍵值對(duì)來(lái)進(jìn)行表示的。 所以辙芍,如果此時(shí)第二個(gè)參數(shù)的值在第一個(gè)存在啡彬,那么就以第二個(gè)參數(shù)的值做key,第一個(gè)參數(shù)的值為value進(jìn)行表示沸手,如果不存在外遇,就忽略着逐。
情況二:replacer為方法時(shí)斤贰,那很簡(jiǎn)單,就是說把系列化后的每一個(gè)對(duì)象(記住是每一個(gè))傳進(jìn)方法里面進(jìn)行處理浸策。
space:就是用什么來(lái)做分隔符的捐晶。
1)如果省略的話菲语,那么顯示出來(lái)的值就沒有分隔符,直接輸出來(lái) 惑灵。
2)如果是一個(gè)數(shù)字的話山上,那么它就定義縮進(jìn)幾個(gè)字符,當(dāng)然如果大于10 英支,則默認(rèn)為10佩憾,因?yàn)樽畲笾禐?0。
3)如果是一些轉(zhuǎn)義字符干花,比如“\t”妄帘,表示回車,那么它每行一個(gè)回車池凄。
4)如果僅僅是字符串抡驼,就在每行輸出值的時(shí)候把這些字符串附加上去。當(dāng)然肿仑,最大長(zhǎng)度也是10個(gè)字符致盟。
如果沒有JSON.stringify()的話碎税,傳對(duì)象到后臺(tái)會(huì)出現(xiàn)[object,object],alert()時(shí)經(jīng)常遇到。
1.parse 用于從一個(gè)字符串中解析出json 對(duì)象馏锡。例如
var str='{"name":"cpf","age":"23"}'
經(jīng) JSON.parse(str) 得到:
Object: age:"23"
name:"cpf"
ps:單引號(hào)寫在{}外雷蹂,每個(gè)屬性都必須雙引號(hào),否則會(huì)拋出異常
2.stringify用于從一個(gè)對(duì)象解析出字符串眷篇,例如
var a={a:1,b:2}
經(jīng) JSON.stringify(a)得到:
“{“a”:1,"b":2}”