在JavaScript中,JSON是一个十分常用的数据传输格式。它可以轻松地将JavaScript对象转换为字符串,并且可以将服务器返回的JSON字符串转换为JavaScript对象。JSON字符串和JavaScript对象之间的转换非常方便,但是你知道吗?
// JavaScript对象
var person = {
name: '张三',age: 18,sex: '男'
};
// 转化为JSON字符串
var personjson = JSON.stringify(person);
// 输出JSON字符串
console.log(personjson);
// 转化为JavaScript对象
var personObj = JSON.parse(personjson);
// 输出JavaScript对象
console.log(personObj);
JSON字符串比对象多了一个字段,那么这个额外的字段是什么呢?其实,这个字段是由JSON.stringify方法的第二个参数所决定的。这个参数是一个函数,用于在字符串化对象时进行转换。
var person = {
name: '张三',sex: '男'
};
// 自定义转换函数
function replacer(key,value) {
if (key === 'age') {
return undefined;
}
return value;
}
// 转化为JSON字符串
var personjson = JSON.stringify(person,replacer);
// 输出JSON字符串
console.log(personjson);
// 转化为JavaScript对象
var personObj = JSON.parse(personjson);
// 输出JavaScript对象
console.log(personObj);
在这个例子中,我们定义了一个replacer函数来过滤对象中的'age'属性。由于函数返回了undefined,因此这个属性就被删除掉了。当我们输出JSON字符串时,你会发现它比原来多了一个'null'。这个null表示的就是被删除的属性。
总的来说,JSON是一种很方便的数据传输格式。在使用时,我们可以通过JSON.stringify方法来将JavaScript对象转化为JSON字符串,而通过JSON.parse方法来将JSON字符串转化为JavaScript对象。此外,我们还可以通过传入replacer函数来控制字符串化对象时的转换行为。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。