JSON.stringify()是Javascript中一个常用的内置 JSON 转换方法,JSON.stringify()可以把JSONObject 转化为 JSON 规则的字符串转换为,JSON.stringify()很方便,并且几乎支持所有浏览器。
JSON.stringify(value[, replacer[, space]])
| 参数 | 参数说明 | 备注 | 
|---|---|---|
| value | 将要序列化成 一个JSON 字符串的值。 | 必选 | 
| replacer | 如果是一个function,那么每个序列化成JSON的value都会经过这个function,如果是一个Array,那么序列化后的JSON字符串中的Key在这个数组中才会加入到返回的JSON 字符串中去。 | 可选 | 
| space | 用于美化JSON字符串,如果是一个Number类型,代表的就是多少个空格。如果是0或者小于0,那么就是没有空格(和不填此项没有区别),如果是字符串,那么直接填充。 | 可选 | 
返回值是一个 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参数可以是function,也可以是Array,如果是function,他接收的参数有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;
});
                    
                    
                    如参数replacer是一个数组,序列化结果集的Key只输出命中的,miss的属性过滤。
replacer Array参数:
var json = {"domain" : "sojson.com","author":"soso"}
json = JSON.stringify(json, ['author']);
 alert("JSON = " + json);//结果只留下了命中Key的元素组合。
                    
                    
                    space参数前面也说了,是用来美化输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(原创文章)
原文地址:https://www.sojson.com/json/json_stringify.html
转载时必须以链接形式注明原始出处及本声明。
综合技术交流:点击加入--> [SO JSON官方交流①群][收费]
综合技术交流:点击加入--> [SO JSON官方交流②群][免费]
要求:不能发广告、暴力、政治、付费教程,违者直接踢出。
备注:入群费用5元,没有QQ钱包,可以先支付宝 or 微信扫码支付5元赞助后,我拉您进去。QQ联系我。
扫码赞助:赞助二维码。
技术交流QQ群:①群259217951,②群166848545
站长邮箱:so@sojson.com
对页面内容有任何疑问和建议,请联系我们。
所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看
正在加载... ...