在互聯(lián)網(wǎng)應(yīng)用開發(fā)中,我們經(jīng)常會(huì)用到cookie的存儲(chǔ)功能來實(shí)現(xiàn)一些用戶體驗(yàn)上的需求。 而在前后端交互中,我們經(jīng)常需要將cookie轉(zhuǎn)換成json格式的數(shù)據(jù)方便數(shù)據(jù)傳輸和解析。
然而,由于cookie的存儲(chǔ)方式是字符串類型,與json格式的數(shù)據(jù)結(jié)構(gòu)不同,我們需要使用一些轉(zhuǎn)換工具來實(shí)現(xiàn)cookie到j(luò)son的轉(zhuǎn)換。 //獲取cookie function getCookie(name) { var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)"); if (arr = document.cookie.match(reg)) { return (arr[2]); } else { return null; } } //將cookie轉(zhuǎn)換為json格式數(shù)據(jù) function cookieToJson(cookieStr) { var arr = cookieStr.split('; '), json = {}; for (var i = 0; i< arr.length; i++) { var newArr = arr[i].split('='); json[newArr[0]] = newArr[1]; } return json; } //使用示例 var cookieStr = getCookie('user'); var json = cookieToJson(cookieStr); console.log(json);
以上代碼中,我們首先從cookie中獲取到需要轉(zhuǎn)換的cookie字符串,然后通過cookieToJson函數(shù)將其轉(zhuǎn)換為json格式的數(shù)據(jù)。 轉(zhuǎn)換后的數(shù)據(jù)可以方便的進(jìn)行數(shù)據(jù)傳輸和解析,為前后端數(shù)據(jù)交互帶來便利。