ES6是現代JavaScript的一種標準,引入了很多新的語言特性,其中包括對JSON格式的支持。ES6采用了基于文本的JavaScript Object Notation (JSON)格式來序列化和反序列化數據,使得在瀏覽器和服務器之間傳遞數據變得更加便捷。
ES6提供了一個新的成員方法:JSON.parse(),用于把JSON格式的數據轉換成JavaScript對象。ES6還提供了另外一個成員方法:JSON.stringify(),用于把JavaScript對象轉換成JSON格式的數據。
// JSON.parse()方法 const jsonStr = '{"name": "張三", "age": 20}'; const jsonObj = JSON.parse(jsonStr); console.log(jsonObj.name); // 輸出:"張三" // JSON.stringify()方法 const obj = {name: "李四", age: 25}; const jsonString = JSON.stringify(obj); console.log(jsonString); // 輸出:{"name":"李四","age":25}
ES6對JSON的支持還包括新的數據類型:Map和Set。Map和Set數據類型可以通過JSON.stringify()方法進行序列化,也可以通過JSON.parse()方法進行反序列化,十分方便。
// 序列化Map數據類型 const map = new Map([['name', '趙六'], ['age', 30]]); const jsonString = JSON.stringify([...map]); console.log(jsonString); // 輸出:[["name","趙六"],["age",30]] // 反序列化Map數據類型 const jsonData = '[["name","王五"],["age",35]]'; const mapObj = new Map(JSON.parse(jsonData)); console.log(mapObj.get('name')); // 輸出:"王五" // 序列化Set數據類型 const set = new Set(['red', 'green', 'blue']); const jsonString = JSON.stringify([...set]); console.log(jsonString); // 輸出:["red","green","blue"] // 反序列化Set數據類型 const jsonData = '["red","green","yellow","green"]'; const setObj = new Set(JSON.parse(jsonData)); console.log(setObj); // 輸出:Set(3) {"red", "green", "yellow"}
總的來說,ES6對JSON的支持讓JavaScript開發更加高效、便捷、靈活。