JSON.stringify()是Javascript中一個常用的內置 JSON 轉換方法,JSON.stringify()可以把JSONObject 轉化為 JSON 規(guī)則的字符串轉換為,JSON.stringify()很方便,并且?guī)缀踔С炙袨g覽器。
JSON.stringify(value[, replacer[, space]])
| 參數(shù) | 參數(shù)說明 | 備注 |
|---|---|---|
| value | 將要序列化成 一個JSON 字符串的值。 | 必選 |
| replacer | 如果是一個function,那么每個序列化成JSON的value都會經過這個function,如果是一個Array,那么序列化后的JSON字符串中的Key在這個數(shù)組中才會加入到返回的JSON 字符串中去。 | 可選 |
| space | 用于美化JSON字符串,如果是一個Number類型,代表的就是多少個空格。如果是0或者小于0,那么就是沒有空格(和不填此項沒有區(qū)別),如果是字符串,那么直接填充。 | 可選 |
返回值是一個 JSON字符串,如:"{"domain":"sojson.com"}"。
測試樣例如下:
var json = {"domain" : "sojson.com","author":"soso"}
它就是一個正常的JSON對象,我們需要把它轉換成字符串,這個時候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ù)組,序列化結果集的Key只輸出命中的,miss的屬性過濾。
replacer Array參數(shù):
var json = {"domain" : "sojson.com","author":"soso"}
json = JSON.stringify(json, ['author']);
alert("JSON = " + json);//結果只留下了命中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")]); // '{}'
版權所屬:SOJSON(原創(chuàng)文章)
原文地址:http://suancuo.cn/json/json_stringify.html
轉載時必須以鏈接形式注明原始出處及本聲明。
綜合技術交流:點擊加入--> [SO JSON官方交流①群][收費]
綜合技術交流:點擊加入--> [SO JSON官方交流②群][免費]
要求:不能發(fā)廣告、暴力、政治、付費教程,違者直接踢出。
備注:入群費用5元,沒有QQ錢包,可以先支付寶 or 微信掃碼支付5元贊助后,我拉您進去。QQ聯(lián)系我。
掃碼贊助:贊助二維碼。
技術交流QQ群:①群259217951,②群166848545
站長郵箱:so@sojson.com
對頁面內容有任何疑問和建議,請聯(lián)系我們。
所有贊助/開支都講公開明細,用于網站維護:贊助名單查看
正在加載... ...