json.stringify和json.parse的异同
时间: 2023-10-29 09:04:12 浏览: 95
`JSON.stringify()` 和 `JSON.parse()` 都是 JavaScript 中处理 JSON 数据的方法。
它们的异同如下:
1. 相同点:
- 都是用来处理 JSON 数据的方法。
- 都是内置于 JavaScript 中的,无需额外引入。
2. 不同点:
- `JSON.stringify()` 方法是将 JavaScript 对象或值转换为 JSON 字符串的方法,而 `JSON.parse()` 方法是将 JSON 字符串转换为 JavaScript 对象或值的方法。
- `JSON.stringify()` 方法可以接受第二个参数,用于控制序列化过程,比如可以传入一个数组来定义需要序列化的属性;而 `JSON.parse()` 方法只接受一个参数,即要解析的 JSON 字符串。
- `JSON.stringify()` 方法序列化 JavaScript 中的 undefined、function、symbol 类型的值会被忽略,而 `JSON.parse()` 方法不会忽略这些值,会抛出异常。
示例:
```javascript
const obj = { name: 'Alice', age: 18 };
const jsonStr = '{"name":"Bob","age":20}';
// 使用 JSON.stringify() 方法将对象转换为 JSON 字符串
const str = JSON.stringify(obj);
console.log(str); // 输出:{"name":"Alice","age":18}
// 使用 JSON.parse() 方法将 JSON 字符串转换为对象
const obj2 = JSON.parse(jsonStr);
console.log(obj2); // 输出:{name: "Bob", age: 20}
```
注意:`JSON.stringify()` 和 `JSON.parse()` 方法都只能处理纯 JSON 数据,如果 JSON 数据中包含 JavaScript 中不支持的数据类型,就会抛出异常。比如,JSON 数据中不能包含函数、日期对象等。
阅读全文