【发布时间】:2014-01-21 08:17:30
【问题描述】:
在服务器上,我将 JSON 对象存储为 cookie(使用 Django / json.dumps),它看起来像这样:
'{"name": "Simon", "gender": "M"}'
在客户端运行 document.cookie 时,我可以看到 cookie,它看起来像这样:
"user="{\"name\": \"Simon\"\054 \"gender\": \"M\"}";
我有一个按名称检索 cookie 的小函数( getCookie('user') )它返回一个字符串:
"{\"name\": \"Simon\"\054 \"gender\": \"M\"}"
我想将它解析回一个 JSON 对象,以便在客户端进一步使用,但是 JSON.parse() 返回错误:“SyntaxError: Unexpected number”。
奇怪的是,如果你运行以下命令:
JSON.parse("{\"name\": \"Simon\"\054 \"gender\": \"M\"}")
直接在控制台中它工作正常。有什么想法吗?
如果有更好的方法来存储 cookie 等,我愿意接受意见
提前致谢。
【问题讨论】:
-
\054在那里做什么? -
你不能在 Cookie 中插入逗号,因为在 cookie 逻辑中已经是一个分隔符,所以:
'{\"name\": \"Simon\"\054 \"gender\": \"M\"}'.replace("\054",",");首先。
标签: javascript django json cookies