JSON.stringify()
是Javascript中一個常用的內(nèi)置 JSON 轉(zhuǎn)換方法,JSON.stringify()
可以把JSONObject 轉(zhuǎn)化為 JSON 規(guī)則的字符串轉(zhuǎn)換為,JSON.stringify()
很方便,并且?guī)缀踔С炙袨g覽器。
JSON.stringify(value[, replacer[, space]])
參數(shù) | 參數(shù)說明 | 備注 |
---|---|---|
value | 將要序列化成 一個JSON 字符串的值。 | 必選 |
replacer | 如果是一個function,那么每個序列化成JSON的value都會經(jīng)過這個function,如果是一個Array,那么序列化后的JSON字符串中的Key在這個數(shù)組中才會加入到返回的JSON 字符串中去。 | 可選 |
space | 用于美化JSON字符串,如果是一個Number類型,代表的就是多少個空格。如果是0或者小于0,那么就是沒有空格(和不填此項沒有區(qū)別),如果是字符串,那么直接填充。 | 可選 |
返回值是一個 JSON字符串,如:"{"domain":"sojson.com"}"
。
測試樣例如下:
var json = {"domain" : "sojson.com","author":"soso"}
它就是一個正常的JSON對象,我們需要把它轉(zhuǎn)換成字符串,這個時候JSON.stringify()
就可以派上用場了。
var json = {"domain" : "sojson.com","author":"soso"} alert(JSON.stringify(json));
其實它外層是有一對雙引號包裹起來的。也就是實際是這樣的"{"domain" : "sojson.com","author":"soso"}"。
replacer參數(shù)可以是function,也可以是Array,如果是function,他接收的參數(shù)有2個,第一個是Key,第二個是Value。
replacer function返回值說明:
var json = {"domain" : "sojson.com","author":"soso"} json = JSON.stringify(json, function(key,value){ if(key == "domain"){ return undefined;//踢出domain }; return value; });
如參數(shù)replacer是一個數(shù)組,序列化結(jié)果集的Key只輸出命中的,miss的屬性過濾。
replacer Array參數(shù):
var json = {"domain" : "sojson.com","author":"soso"} json = JSON.stringify(json, ['author']); alert("JSON = " + json);//結(jié)果只留下了命中Key的元素組合。
space參數(shù)前面也說了,是用來美化輸JSON的。
space 每個元素前面都間隔10個空格:
var json = {"domain" : "sojson.com","author":"soso"} alert(JSON.stringify(json,null,10));
space 也可以用‘tab’來定制空格美化輸出,采用“\t”即可,如:
JSON.stringify({"domain" : "sojson.com","author":"soso"},null,'\t')
space 增加固定的字符串。
var json = {"domain" : "sojson.com","author":"soso"} alert(JSON.stringify(json,null,"我是sojson"));
JSON.stringify({}); // '{}' JSON.stringify(true); // 'true' JSON.stringify("sojson"); // '"sojson"' JSON.stringify([1, "false", false]); // '[1,"false",false]' JSON.stringify({ abc: 5 }); // '{"abc":5}' JSON.stringify({x: 5, y: 6}); // "{"x":5,"y":6}" JSON.stringify([new Number(1), new String("false"), new Boolean(false)]);// '[1,"false",false]' JSON.stringify({x: undefined, y: Object, z: Symbol("")}); // '{}' JSON.stringify([undefined, Object, Symbol("")]); // '[null,null,null]' JSON.stringify({[Symbol("sojson")]: "sojson"}); // '{}' JSON.stringify({[Symbol.for("sojson")]: "sojson"}, [Symbol.for("sojson")]); // '{}'
版權(quán)所屬:SOJSON(原創(chuàng)文章)
原文地址:http://zijieyoumin.cn/json/json_stringify.html
轉(zhuǎn)載時必須以鏈接形式注明原始出處及本聲明。
綜合技術(shù)交流:點擊加入--> [SO JSON官方交流①群][收費]
綜合技術(shù)交流:點擊加入--> [SO JSON官方交流②群][免費]
要求:不能發(fā)廣告、暴力、政治、付費教程,違者直接踢出。
備注:入群費用5元,沒有QQ錢包,可以先支付寶
or 微信
掃碼支付5元贊助后,我拉您進(jìn)去。QQ聯(lián)系我。
掃碼贊助:贊助二維碼。
技術(shù)交流QQ群:①群259217951,②群166848545
站長郵箱:so@sojson.com
對頁面內(nèi)容有任何疑問和建議,請聯(lián)系我們。
所有贊助/開支都講公開明細(xì),用于網(wǎng)站維護(hù):贊助名單查看
正在加載... ...