📜  stringify js的逆 - Javascript(1)

📅  最后修改于: 2023-12-03 14:47:43.937000             🧑  作者: Mango

stringify js的逆 - Javascript

在Javascript中,JSON.stringify()函数是将一个Javascript对象转换为一个字符串的函数。但是有时候我们需要将一个字符串转换为一个Javascript对象。这就是本文要介绍的内容 - 反序列化JSON字符串。

什么是反序列化JSON字符串

反序列化JSON字符串是将一个JSON字符串转换为Javascript对象或者数组的过程。它与JSON.stringify()方法的目的相反,它将JSON字符串还原为原始值对象。

下面是一个例子,假设我们有一个JSON字符串:

let jsonString = '{"name": "John Doe", "age": 35, "isMarried": true, "hobbies": ["reading", "travelling"]}'

我们可以使用JSON.parse()函数将其反序列化为一个Javascript对象,如下所示:

let obj = JSON.parse(jsonString);

console.log(obj.name); // "John Doe"
console.log(obj.age); // 35
console.log(obj.isMarried); // true
console.log(obj.hobbies); // ["reading", "travelling"]
语法

JSON.parse()函数的语法如下所示:

JSON.parse(text [, reviver])

text是一个JSON字符串,可以包含以下值类型:

  • 对象(object)
  • 数组(array)
  • 字符串(string)
  • 数值(number)
  • 布尔值(true 或 false)
  • 空值(null)

reviver是一个可选的函数,在解析JSON时对JSON值进行变换和过滤。

例子
反序列化简单的JSON字符串

下面是一个简单的JSON字符串:

let jsonString = '{"name": "John Doe", "age": 35}'

我们可以使用JSON.parse()函数将其反序列化为一个Javascript对象,如下所示:

let obj = JSON.parse(jsonString);

console.log(obj.name); // "John Doe"
console.log(obj.age); // 35
反序列化带有数组的JSON字符串

下面是一个带有数组的JSON字符串:

let jsonString = '{"hobbies": ["reading", "travelling"]}'

我们可以使用JSON.parse()函数将其反序列化为一个Javascript对象,如下所示:

let obj = JSON.parse(jsonString);

console.log(obj.hobbies); // ["reading", "travelling"]
反序列化带有特殊字符的JSON字符串

下面是一个带有特殊字符的JSON字符串:

let jsonString = '{"name": "John\nDoe"}'

我们可以使用JSON.parse()函数将其反序列化为一个Javascript对象,如下所示:

let obj = JSON.parse(jsonString);

console.log(obj.name); // "John\nDoe"
总结

反序列化JSON字符串是将一个JSON字符串转换为Javascript对象或数组的过程。它可以从一个JSON字符串中提取出数据,以便我们在Javascript代码中使用。要使用JSON.parse()函数进行反序列化。