如何将 JSON 字符串转换为 JavaScript 对象?


在本文中,我们将讨论如何使用 JavaScript 中的合适示例将 JSON 字符串转换为 JavaScript 对象。

有两种可能的方法可以将 JSON 字符串转换为 Javascript 对象 – eval()parse()eval() 方法的使用是不安全的,并且不建议使用。它容易受到黑客攻击。parse() 方法通常在任何时候都优先使用。

JSON 的典型应用是向 Web 服务器传输和接收数据。从服务器发送的数据始终是 JSON 字符串。使用 JSON.parse(),我们可以将 JSON 字符串转换为 JS 对象。

语法

将 JSON 字符串转换为 JS 对象的语法如下:

JSON.parse(text);

其中,text 是要转换为对象的字符串的值。

示例 1

在此示例中,我们使用 parse() 方法将 JSON 字符串转换为对象。字典作为 JSON 字符串获取。

HTML 作为 JSON

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>To convert a JSON string into a JS object</title>
</head>
<body>
   <p id="parse"></p>
   <script>
      var json = '{"name":"Rajesh","company": "Tutorials point","job_location":"Hyderabad"}';
      var object = JSON.parse(json);
      document.getElementById('parse').innerHTML='object.name = '+object.name+'<br/>'+'object.company = '+object.company+'<br/>'+'object.job_location = '+object.job_location;
   </script>
</body>
</html>

执行上述代码后,将生成以下输出。

示例 2

在此示例中,我们使用 parse() 方法将 JSON 字符串转换为对象。字典作为 JSON 字符串获取。

数组作为 JSON

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>To convert a JSON string into a JS object</title>
</head>
<body>
   <p id="parse"></p>
   <script>
      var json = '["iPhone","Samsung","One plus"]';
      var arr_object = JSON.parse(json);
      document.getElementById('parse').innerHTML='arr_object[0] = '+arr_object[0]+'<br/>'+'arr_object[2] = '+arr_object[2];
   </script>
</body>
</html>

执行上述代码后,将生成以下输出。

示例 3

以下示例程序说明了如何将 JSON 字符串转换为 JS 对象,其中日期在 JSON 字符串中作为字符串给出。因为 JSON 字符串不接受 Date 对象。

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>To convert a JSON string into a JS object when date is given as a string</title>
</head>
<body>
   <h3>convert a JSON string( where date is included as a string) into a JS object </h3>
   <p id="parse"></p>
   <script>
      //You cannot take a date object directly in a JSON String. Use it is as a string in JSON string.
      const person = '{"name":"Ram", "dob":"01-01-1995", "aadhar-id":"7365 0000 1111"}';
      const object = JSON.parse(person);
      object.dob = new Date(object.dob);
      document.getElementById('parse').innerHTML = 'object.name = ' + object.name + '<br/>' + 'object.dob = ' +object.dob;
   </script>
</body>

执行上述代码后,将生成以下输出。

更新于: 2022-12-09

3K+ 次查看

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告

© . All rights reserved.