从json格式检索cookie信息



我有以JSON格式存储的cookie信息,如下所示:

var preferredAnimal = {
"dog" : "true",
"cat" : "false",
"bird" : "true"
};

我如何提取一个项目的信息?例如,我只想检查cookie,如果bird返回true,就做点什么。

在devtools中检查cookie时,Name是preferredAnimal,值是{"dog":true,"cat":false,"bird":true},所以尝试识别该值会给我带来一切。

感谢的任何帮助

您可以执行以下操作:

if(preferredAnimal.bird == 'true')
{
//do something
}

假设您使用JSON.stringify字符串化cookie,您可以使用以下函数获得其原始形式:

function getCookieAsJSON(name) {
const value = `; ${document.cookie}`;
const parts = value.split(`; ${name}=`);
if (parts.length === 2) 
return JSON.parse(
parts.pop()
.split(';')
.shift()
);
}

用法:

const cookie = getCookieAsJSONI('preferredAnimal') // preferredAnimal is the name of your cookie
console.log(cookie) // Returned cookie is an object just as your orignal object if you used JSON.stringify

输出:

{
dog: "true",
cat: "false",
bird:"true"
}

注意,您的值将是字符串,但您可以很容易地将它们转换为正确的类型。

最新更新