JavaScript JSON.stringify()

第二个参数的问题:当第一个参数是对象,第二个参数是函数的时候,应当注意:

函数内的参数必须用(key,value)的键值对,并且,必须出现对应的key才能对该value进行操作。否则无法指明是哪个value的key。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>


<p id="demo"></p>
<script>
var testObj = {
name:"张三",
age:28,
gender:"man"
};
//$("#objTest").text(JSON.stringify(testObj,testReplacer));

var testArr = [{
name:"ss",
age:'s',
gender:"gril"
},
{
name:"ss",
age:'s',
gender:"gril"
}]
var ss=JSON.stringify(testArr,testReplacer);

function testReplacer(key,value){//key为对象属性名,value为对象属性值,会遍历testObj或testArr来执行该函数
if(key==="name"||key==="age"){
value = value.toUpperCase();
}
return value;
}
document.write( "使用参数情况:" );
document.write( "<br>" );
document.write("<pre>" + ss + "</pre>" ); // pre 用于格式化输出
</script>


</body>

</html>


如果第一个参数是数组,第二个是函数,可以不针对key来改变value

但是无法识别出是哪个数组内元素是String类型。

<script>
var testArr = ["abc","bcd"];
var ss=JSON.stringify(testArr,testReplacer);
function testReplacer(key,value){//key为对象属性名,value为对象属性值,会遍历testObj或testArr来执行该函数
return value.toString().toUpperCase();
}
document.write( "使用参数情况:" );
document.write( "<br>" );

document.write("<pre>" + ss + "</pre>" ); // pre 用于格式化输出



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值