如何将JSON反序列化为JavaScript对象?


序列化是将对象转换为可通过网络传输的形式的过程。在JavaScript中,我们通常将对象序列化为JSON(或JavaScript对象表示法)格式。

要将JSON反序列化为JavaScript对象,我们需要使用JSON.parse()方法。

JavaScript对象表示法用于与Web服务器或RESTful API交换数据。我们从Web服务器获取的数据始终是字符串变量,为了使用它,我们需要使用JSON.parse()进行解析,它将返回一个JavaScript对象或数组对象。以下是parse()方法的语法

JSON.parse(string, function);

JSON.parse()方法始终以字符串格式接收其参数(即,我们必须用单引号将值括起来)。

示例1

在下面的示例中,我们传递一个名为text的变量,并使用JSON.parse()方法将其转换为对象格式。

<!DOCTYPE html>
<html lang="en">
<head></head>
<body>
   <script>
      var text = '{"name":" Aman Kumar","Company":"TutorialsPoint", "city":"Hyderabad"}';
      var obj = JSON.parse(text);
      document.write(JSON.stringify(obj));
   </script>
</body>
</html>

示例2

在下面的示例中,我们直接将文本值传递给JSON.parse()方法。数据转换后,我们将结果对象的內容打印到一个段落标签中。

<!DOCTYPE html>
<html lang="en">
<head> </head>
<body>
<p id="demo"></p>
   <script>
      var obj = JSON.parse(
         '{"name":" Aman Kumar","Company":"TutorialsPoint", "city":"Hyderabad"}'
      );
      document.getElementById("demo").innerHTML =
      obj.name + " " + obj.Company + " " + obj.city;
   </script>
</body>
</html>

示例3

在下面的示例中,我们将字符串元素数组传递给JSON.parse()方法。

<html>
<body>
   <h2>Parsing a JSON Array.</h2>
   <p>JSON array will be parsed into a JavaScript array.</p>
   <p id="demo"></p>
   <script>
      const text = '[ "Tutorial", "Point", "Telangana", "Hyderabad" ]';
      const JSArr = JSON.parse(text);
      document.getElementById("demo").innerHTML = JSArr;
   </script>
</body>
</html>

示例4

让我们来看另一个例子:

<html>
<body>
   <script>
      const json = '{"result":true, "count":42}';
      // Parse the object
      const obj = JSON.parse(json);
      document.write(obj.count,"<br>");
      document.write(obj.result);
   </script>
</body>
</html>

更新于:2022-12-19

3K+浏览量

开启你的职业生涯

完成课程获得认证

开始学习
广告