在 ES6 中,對象和 JSON 之間可以進行互轉。這意味著,我們可以將一個對象轉換為 JSON 字符串,也可以將一個 JSON 字符串轉換為對象。
對于將對象轉換為 JSON 字符串,我們可以使用 JSON.stringify() 方法。該方法接收一個對象參數,并將其轉換為 JSON 字符串。下面是一個示例:
const obj = { name: 'Tom', age: 20, gender: 'male' }; const jsonString = JSON.stringify(obj); console.log(jsonString); // {"name":"Tom","age":20,"gender":"male"}
在上面的代碼中,我們定義了一個包含三個屬性的對象。然后,我們使用 JSON.stringify() 將該對象轉換為 JSON 字符串,并將其存儲在 jsonString 變量中。
同樣地,我們也可以使用 JSON.parse() 方法將一個 JSON 字符串轉換為對象。下面是一個示例:
const jsonString = '{"name":"Tom","age":20,"gender":"male"}'; const obj = JSON.parse(jsonString); console.log(obj); // { name: 'Tom', age: 20, gender: 'male' }
在上面的代碼中,我們定義了一個包含 JSON 字符串的變量 jsonString。然后,我們使用 JSON.parse() 方法將該字符串轉換為對象,并將其存儲在 obj 變量中。
需要注意的是,在將對象轉換為 JSON 字符串時,只有那些可枚舉的、自有的、非 Symbol 屬性才能被轉換為 JSON 字符串。對象的方法、原型鏈上的屬性以及 Symbol 類型的屬性都不會被轉換為 JSON 字符串。
同時,在將 JSON 字符串轉換為對象時,JSON 字符串必須是有效的。如果 JSON 字符串無效,則會拋出語法錯誤。