如何將 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>
執行上述程式碼後,將生成以下輸出。
廣告