JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,常用于前端和后端的數據傳輸。在JavaScript中,我們可以使用JSON.parse()方法將JSON字符串轉換成JSON對象。
// 示例JSON字符串 const jsonString = '{"name": "Alice", "age": 25, "isEmployed": true}'; // 將JSON字符串轉換成JSON對象 const jsonObject = JSON.parse(jsonString); // 訪問JSON對象的屬性 console.log(jsonObject.name); // 輸出:Alice console.log(jsonObject.age); // 輸出:25 console.log(jsonObject.isEmployed); // 輸出:true
注意,在JSON字符串中,屬性名和字符串都必須使用雙引號,而不能使用單引號或不使用引號。否則,將會導致JSON.parse()方法出現語法錯誤。
// 錯誤示例,屬性名和字符串使用單引號 const jsonString = "{'name': 'Alice', 'age': 25, 'isEmployed': true}"; // SyntaxError: Unexpected token ' in JSON at position 1 const jsonObject = JSON.parse(jsonString);
另外,數組也可以被轉換成JSON對象。需要注意的是,數組中的每個元素都必須是合法的JSON類型(如字符串、數字、布爾值、對象、數組等)。
// 示例JSON字符串 const jsonString = '[{"name": "Alice", "age": 25}, {"name": "Bob", "age": 30}]'; // 將JSON字符串轉換成JSON對象 const jsonObject = JSON.parse(jsonString); // 訪問JSON對象的屬性 console.log(jsonObject[0].name); // 輸出:Alice console.log(jsonObject[1].age); // 輸出:30
最后,如果JSON字符串不是合法的JSON格式,或者包含不支持的數據類型,JSON.parse()方法會拋出錯誤。
// 錯誤示例,JSON字符串中包含function類型 const jsonString = '{"name": "Alice", "age": 25, "printName": function() {console.log(this.name)}}'; // SyntaxError: JSON.parse: unexpected character 'f' at position 24 const jsonObject = JSON.parse(jsonString);