一、代碼的基本用法
var jsonString = '{"name": "Lena", "age": 28}'; var jsonObj = JSON.parse(jsonString); console.log(jsonObj.name); // output: Lena
stringtojson函數,顧名思義,是將JSON字符串轉換為JavaScript對象/數組的函數。在正常情況下,我們使用JSON.stringify將JavaScript對象轉換為JSON字符串並發送請求。但是,有時我們需要將JSON字符串轉換為JavaScript對象,以便在應用程序中方便地使用。
JSON.parse的參數應該是一個合法的JSON字符串。如果無法將其轉換為對象,它將拋出一個異常。在這個例子中,jsonString參數是一個合法的JSON字符串。通過使用JSON.parse,我們將它轉換為JavaScript對象,並輸出了其中的”name”屬性的值。
二、處理JSON字符串中的特殊字符
var jsonString = '{"name": "Lena\n", "age": 28}'; var jsonObj = JSON.parse(jsonString); console.log(jsonObj.name); // output: Lena var jsonString2 = '{"name": "Lena\\n", "age": 28}'; var jsonObj2 = JSON.parse(jsonString2); console.log(jsonObj2.name); // output: Lena\n
特殊字符如”\n”,”\t”,”\r”,”\b”等在JSON字符串中要使用反斜杠轉義。
在上面的例子中,我們演示了如何處理JSON字符串中的”\n”字符。第一個例子中使用了未轉義的”\n”字符,當我們嘗試使用JSON.parse將其轉換為對象時,會拋出異常。在第二個例子中,我們已經將”\n”字符轉義為”\\n”,所以它可以正常地轉換為JavaScript對象。
三、處理JSON字符串中的單引號和無引號
var jsonString = "{'name': 'Lena', 'age': 28}"; var jsonObj = JSON.parse(jsonString); console.log(jsonObj.name); // output: undefined var jsonString2 = '{"name": "Lena", "age": 28}'; var jsonObj2 = JSON.parse(jsonString2); console.log(jsonObj2.name); // output: Lena
在JSON字符串中使用引號時,必須使用雙引號。單引號不是JSON規範的一部分,因此將拋出異常。
在上面的例子中,第一個例子使用了單引號,當我們使用JSON.parse函數將其轉換為JavaScript對象時,返回值為undefined。在第二個例子中,我們使用了雙引號,因此可以正常地將其轉換為JavaScript對象。
四、處理JSON字符串中的注釋
var jsonString = '{"name": "Lena", "age": 28 // this is a comment}'; var jsonObj = JSON.parse(jsonString); console.log(jsonObj.name); // output: Lena
JSON字符串中不允許使用注釋。但是,如果您有一個帶注釋的JSON字符串,其中的注釋會導致JSON.parse函數拋出異常。
在上面的例子中,我們有一個帶注釋的JSON字符串。儘管它包含注釋,但是我們可以使用JSON.parse將其轉換為JavaScript對象,並輸出其中的”name”屬性的值。儘管在這種情況下,注釋並沒有干擾到JSON.parse的工作,但無法保證所有的實現都會這樣做。最好的做法是確保您的JSON字符串是合法的,不包含注釋。
五、處理JSON字符串中的數組
var jsonString = '[{"name": "Lena", "age": 28}, {"name": "Sara", "age": 30}]'; var jsonObj = JSON.parse(jsonString); console.log(jsonObj[0].name); // output: Lena console.log(jsonObj[1].name); // output: Sara
JSON字符串中可以包含一個數組。在使用JSON.parse處理JSON字符串時,它將把JSON數組轉換為JavaScript數組。在這個例子中,我們有一個包含兩個元素的JSON數組。使用JSON.parse將其轉換為JavaScript數組,並輸出其中元素的”name”屬性的值。
原創文章,作者:BKYH,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/143267.html