在JavaScript中,JSON(JavaScript Object Notation)是一种常用的数据交换格式,它是一种轻量级的数据结构,具有简洁、易于阅读、易于编写的特点。在Web开发中,我们常常需要将JSON字符串转换成JavaScript对象或将对象转换为JSON字符串,下面我们就来介绍一下相关的转换方法。
1. JSON字符串转JavaScript对象
// JSON字符串 const jsonStr = '{"name":"Tom","age":18,"likes":["swimming","reading"]}'; // JSON字符串转JavaScript对象 const jsonObj = JSON.parse(jsonStr); console.log(jsonObj.name); // 输出Tom console.log(jsonObj.likes[0]); // 输出swimming
2. JavaScript对象转JSON字符串
// JavaScript对象 const jsonObj = {name: "Tom",age: 18,likes: ["swimming","reading"]} // JavaScript对象转JSON字符串 const jsonStr = JSON.stringify(jsonObj); console.log(jsonStr); // 输出'{"name":"Tom","reading"]}'
需要注意的是,当JavaScript对象中存在函数、RegExp、Date等特殊类型时,JSON.stringify()会将其序列化为undefined。还有一个参数replacer用来指定如果遇到某个key,如何序列化,value表示该key代表的值。例如:
// JavaScript对象 const jsonObj = { name: "Tom",birthday: new Date('2000-01-01'),function() {},/1234/,undefined] } // 使用replacer参数的JavaScript对象转JSON字符串 const jsonStr = JSON.stringify( jsonObj,(key,value) => { if (value instanceof Date) { return value.getTime(); } else if (typeof value === "function" || value instanceof RegExp) { return undefined; } return value; },2 ); // 输出格式化后的json字符串 console.log(jsonStr);
以上就是JSON字符串和对象之间的转换方法,希望对大家有所帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。