一、字元串轉換成對象
將字元串轉換成對象是JavaScript編程中非常常見的操作,它的常用方法主要有兩種:eval()和 JSON.parse()。其中,eval()的弊端在於會執行字元串中所有的JavaScript代碼,存在安全風險,因此建議使用JSON.parse()方法進行字元串轉換。
//使用JSON.parse()將字元串轉換為對象 let str = '{"name": "John", "age": 30, "city": "New York"}'; let obj = JSON.parse(str); console.log(obj.name); // "John"
這樣就可將一個包含JSON數據的字元串轉換成一個JavaScript對象,並可以使用對象的屬性來獲取其中的數據值。
二、字元串轉換成對象數組
字元串轉換成對象數組也是比較常見的操作,通常是從後端獲取到的JSON數據。假設從服務端獲取到以下JSON數據:
let jsonStr = '[{"name":"John","age":30},{"name":"Mike","age":20}]';
要將該JSON數據轉換成JavaScript對象數組,使用JSON.parse()即可:
let jsonObjArr = JSON.parse(jsonStr); console.log(jsonObjArr[0].name); //"John"
這裡的jsonObjArr就是一個JavaScript對象數組,可以使用數組的下標訪問其中的每個對象,然後再通過對象的屬性獲取對應的值。
三、字元串轉換成對象列表型
有時候從服務端獲取到的JSON數據格式可能是一個包含多個對象的對象,這種數據通常被稱為「對象列表型」,轉換方法如下:
let jsonObjStr = '{"students":[{"name":"John","age":30},{"name":"Mike","age":20}]}'; let jsonObj = JSON.parse(jsonObjStr); console.log(jsonObj.students[0].name); //"John"
這裡的jsonObj即為一個包含students屬性的對象,該屬性的值是一個JavaScript數組對象。使用該方式可以方便地獲取嵌套在對象中的列表型數據。
四、將JSON字元串轉換成對象
在JavaScript中,JSON與對象是可以互相轉換的,因此要將JSON字元串轉換成JavaScript對象也是非常簡單的,使用JSON.parse()方法即可:
let json = '{"name":"John", "age":30, "city":"New York"}'; let obj = JSON.parse(json); console.log(obj.name); //"John"
這裡使用了JSON.parse()方法將json字元串轉換成JavaScript對象。反之,要將JavaScript對象轉換成JSON字元串,可以使用JSON.stringify()方法。
五、字元串轉換成時間標識
在JavaScript中,時間可以表示為時間戳或者Date對象等多種格式。如果需要將字元串轉換成時間標識,可以使用Date.parse()方法:
let dateStr = "2020-01-01T00:00:00.000Z"; let date = new Date(Date.parse(dateStr)); console.log(date); //Wed Jan 01 2020 08:00:00 GMT+0800 (中國標準時間)
這裡使用了Date.parse()方法將字元串時間標識轉換成了一個Date對象。需要注意的是,不同的日期字元串格式需要使用不同的方法進行轉換。
六、字元串轉換成數字
將字元串轉換成數字也是JavaScript編程中常用的操作。JavaScript提供了parseInt()和parseFloat()兩個方法來完成這個操作:
let str1 = "123"; let str2 = "123.45"; let num1 = parseInt(str1); let num2 = parseFloat(str2); console.log(num1); //123 console.log(num2); //123.45
這裡的parseInt()和parseFloat()分別將字元串轉換成整型和浮點型數字。
七、JS字元串轉換為對象
在JavaScript中將字元串轉換為對象還可以使用Function構造函數,使用該方法應該慎重,因為它會執行字元串中的所有代碼:
let str = '{"name":"John", "age":30, "city":"New York"}'; let obj = new Function("return " + str)(); console.log(obj.name); //"John"
這裡使用了Function構造函數將字元串轉換成了JavaScript對象,使用return關鍵字返回對象。
八、XML字元串怎麼轉換成對象
要將XML字元串轉換成JavaScript對象,可以使用使用DOMParser對象的parseFromString()方法,但是需要注意的是,該方法只能將XML字元串轉換成XML DOM對象,需要進一步處理才能轉換為JavaScript對象。
let parser = new DOMParser(); let xmlStr = '<bookstore><book><title>Harry Potter</title><author>J.K. Rowling</author><year>2005</year></book></bookstore>'; let xmlDoc = parser.parseFromString(xmlStr, "text/xml"); let book = xmlDoc.getElementsByTagName("book")[0]; let title = book.getElementsByTagName("title")[0]; let author = book.getElementsByTagName("author")[0]; let year = book.getElementsByTagName("year")[0]; console.log(title.childNodes[0].nodeValue); //"Harry Potter"
這裡的xmlDoc就是一個XML DOM對象,可以使用它的方法和屬性對XML文檔進行操作。
總結
以上就是JavaScript中字元串轉換成對象的詳細介紹。無論是從JSON格式的字元串中獲取數據,還是將XML字元串轉換成對象,JavaScript都提供了豐富的API來實現。希望這篇文章能夠對大家有所幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/187213.html