JSON.parse反序列化
时间: 2024-05-25 10:08:50 浏览: 9
JSON.parse() 是一种将 JSON 格式的字符串转换为 JavaScript 对象的方法。它将 JSON 格式的字符串解析为 JavaScript 对象,使得我们能够通过 JavaScript 对象的方式来使用 JSON 数据。
举个例子,如果你有一个 JSON 格式的字符串,比如 '{"name":"张三","age":20}',你可以使用 JSON.parse() 方法将其转换为一个 JavaScript 对象:
```javascript
let str = '{"name":"张三","age":20}';
let obj = JSON.parse(str);
console.log(obj.name); // 输出 "张三"
console.log(obj.age); // 输出 20
```
需要注意的是,JSON.parse() 方法只能解析符合 JSON 格式的字符串。如果传入的字符串不符合 JSON 规范,该方法会抛出异常。
相关问题
JSON.parse(JSON.stringify深拷贝
JSON.parse(JSON.stringify(obj))是一种常用的深拷贝方法。它的过程是将JavaScript对象通过JSON.stringify方法序列化为JSON字符串,然后再通过JSON.parse方法将JSON字符串反序列化为JavaScript对象。这样可以实现对对象的完全拷贝。需要注意的是,该方法有一些限制:
1. 如果对象中包含时间对象,则在使用JSON.parse(JSON.stringify(obj))后,时间对象将变为字符串形式,而不是时间对象本身。
2. JSON.stringify()只能序列化对象的可枚举的自有属性。对于通过构造函数生成的对象,深拷贝后会丢失constructor属性。
3. 如果对象中包含RegExp、Error对象,序列化的结果将只得到空对象。
json.stringify和json.parse的异同
`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 数据中不能包含函数、日期对象等。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)