在 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}'