如何將 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+ 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

立即開始
廣告