我正在通过JavaScript
设置会话cookie,如下所示:
$('.content li a').on('click', function(e) {
$.cookie.json = true;
var cookie_value = {postid: 1234, commentid: 8999};
$.cookie('my_cookie_key', cookie_value, {path: '/'});
});
当我尝试在Python Django中检索cookie值时,会得到如下编码字符串:
'"%7B%22postid%22%3A1234%2C%22commentid%22%3A8999%7D"'
使用
request.COOKIES.get('my_cookie_key')
如何将其转换为
dict
对象,以便轻松检索cookie中的所有值,如my_cookie_obj.postid
?我试过解码这个字符串,但我认为我做得不对。 最佳答案
该值只是百分比编码。只要使用适当的解码功能,你就应该得到你存储的东西。
>>> import json
>>> from urllib.parse import unquote
>>> s = unquote("%7B%22postid%22%3A1234%2C%22commentid%22%3A8999%7D")
>>> s
'{"postid":1234,"commentid":8999}'
>>> v = json.loads(s)
>>> v['commentid']
8999
请注意,用户可以操作所有cookie值,因此在解析/使用这些值时要小心,因为它们是不受信任的内容。