在前端開發中,cookie起到了非常重要的作用,可以讓服務器通過瀏覽器來實現狀態的維護,進而讓網站更加便捷和安全。而在cookie中存放json數據的需求也屢見不鮮,下面我們就來介紹一下如何在cookie中存放json。
//設置cookie function setCookie(name,value,day){ let date = new Date(); date.setDate(date.getDate() + day); document.cookie = name + '=' + value + ';expires=' + date; } //讀取cookie function getCookie(name){ let arr,reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); if (arr = document.cookie.match(reg)) { return unescape(arr[2]); } else { return null; } } //定義json數據 let user = { "name": "Tom", "age": 23, "gender": "male" }; //將json數據轉換為字符串并存儲到cookie中 let userStr = JSON.stringify(user); setCookie('user_info',userStr,7); //從cookie中讀取并解析json數據 let userCookie = getCookie('user_info'); if (userCookie !== null) { let userInfo = JSON.parse(userCookie); console.log(userInfo.name); console.log(userInfo.age); console.log(userInfo.gender); }
上面的代碼中,我們首先定義了一個json數據user,然后利用JSON.stringify()方法將其轉化為字符串。接著我們調用了setCookie()方法將該字符串存儲到了cookie中。在讀取cookie時,我們調用了getCookie()方法獲取到該字符串,并通過JSON.parse()方法將其轉化為json數據。最后,我們就可以對解析后的json數據進行操作了。
以上就是在cookie中存放json的一些簡單介紹,需要注意的是,由于cookie的大小限制,存放大量json數據并不適合使用cookie,而在這種情況下,可以考慮使用本地存儲或session存儲等方式。