ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

JS对象和字符串的相互转换

2026/8/8 22:00:30 拓冰建站 浏览量
JS对象和字符串的相互转换

在 JavaScript 中,可以使用 JSON.stringify() 方法将对象转换为字符串,以及使用 JSON.parse() 方法将字符串转换为对象。

1. 对象转字符串:

使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串。例如:

const obj = { name: 'Tom', age: 18 };
const jsonString = JSON.stringify(obj);
console.log(jsonString); // 输出 '{"name":"Tom","age":18}'

2.字符串转对象

使用 JSON.parse() 方法将 JSON 字符串转换为 JavaScript 对象。例如:

const jsonString = '{"name":"Tom","age":18}';
const obj = JSON.parse(jsonString);
console.log(obj.name); // 输出 'Tom'
console.log(obj.age); // 输出 18

3.注意点

JSON.stringify() 和 JSON.parse() 方法只能处理符合 JSON 格式的数据。也就是说,对象中的属性名必须使用双引号括起来,而不能使用单引号或者没有引号。另外,对象中不能包含函数、正则表达式等特殊类型的属性。

如果对象中包含了函数或者其他无法直接序列化为 JSON 的属性,可以通过自定义的方式进行转换。例如,可以在对象上定义一个 toJSON() 方法,该方法在调用 JSON.stringify() 时会被自动调用,并返回一个可被序列化为 JSON 的简化版本的对象。例如:

const obj = {name: 'Tom',age: 18,toJSON() {return {name: this.name,age: this.age};}
};const jsonString = JSON.stringify(obj);
console.log(jsonString); // 输出 '{"name":"Tom","age":18}'

通过定义 toJSON() 方法,我们可以控制序列化对象时返回的数据内容。