最近在學習cookie時發現了cookie中的json,于是便想深入了解一下。
// 假設有一個json對象,如下所示 const user = { name: "小明", age: 20, gender: "男" } // 利用JSON.stringify方法將其轉換為字符串 const userStr = JSON.stringify(user); console.log(userStr); // 輸出:{"name":"小明","age":20,"gender":"男"} // 向cookie中添加json字符串 document.cookie = `userInfo=${userStr};expires=${new Date(new Date().getTime()+1000*60*60*24*30)};path=/`;
由上述代碼可知,可以利用JSON.stringify將json對象轉換為字符串,并且該字符串可以添加到cookie中,作為cookie的值。
那么如何從cookie中取出該json字符串并轉換回json對象呢?
// 獲取cookie中的json字符串 const userInfoStr = document.cookie.replace(/(?:(?:^|.*;\s*)userInfo\s*\=\s*([^;]*).*$)|^.*$/, "$1"); console.log(userInfoStr); // 輸出:{"name":"小明","age":20,"gender":"男"} // 將json字符串轉換回json對象 const userInfo = JSON.parse(userInfoStr); console.log(userInfo); // 輸出:{name: "小明", age: 20, gender: "男"}
經過上述代碼的操作,我們可以將cookie中的json字符串轉換為json對象,方便我們在前端進行數據的使用。同時,這種方法也可以應用在其他需要將json對象轉換為字符串的場景中。