JSON (JavaScript Object Notation) 是一種輕量級的數據交換格式,常用于前后端數據傳輸和存儲。
在 JSON 中,未加雙引號的值會被解釋為變量名,加了雙引號的則會被解釋為字符串。為了避免某些特殊字符在解析過程中出現問題,可以把對象當作字符串來處理。
const obj = { name: "Tom", age: 18, hobby: ["reading", "music"] }; const str = JSON.stringify(obj); //將對象轉成字符串 console.log(str); //輸出 "{\"name\":\"Tom\",\"age\":18,\"hobby\":[\"reading\",\"music\"]}"
JSON.stringify()方法可以將對象轉成字符串,返回的字符串中每個屬性名都用雙引號包裹,屬性值如果是字符串類型則有雙引號,其他類型則沒有。
反之,如果要將字符串轉成對象,則可以使用JSON.parse()方法。
const str = "{\"name\":\"Tom\",\"age\":18,\"hobby\":[\"reading\",\"music\"]}"; const obj = JSON.parse(str); //將字符串轉成對象 console.log(obj); //輸出 {name: "Tom", age: 18, hobby: Array(2)}
JSON.parse()方法將字符串轉成對象時,屬性名和屬性值都需要加雙引號,否則會拋出異常。