You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Next.js使用js-cookie存JSON对象到Cookie显示[object Object]如何解决?

问题原因

Cookie 仅支持存储字符串类型的值,你直接将 JS 对象传入 Cookie.set() 方法时,会自动调用对象的 toString() 方法,最终就会得到 "[object Object]" 的存储结果,和你之前的推测完全一致。

解决方案

1. 存储时序列化对象

修改你设置 Cookie 的代码,存储用户数据前先通过 JSON.stringify() 将对象转为 JSON 字符串:

console.log(res2)
Cookie.set('user', JSON.stringify(res2.user));
Cookie.set('token', res2.token);
router.push('/dashboard/')

2. 读取时反序列化字符串

后续读取用户数据时,需要通过 JSON.parse() 将存储的 JSON 字符串转回 JS 对象才能正常使用:

const user = JSON.parse(Cookie.get('user'))
const token = Cookie.get('token')

额外注意事项

  • 浏览器单条 Cookie 最大容量为 4KB,不要存入过多的用户字段,避免超出容量限制
  • 如果用户信息包含敏感数据,不建议明文存在前端可读写的 Cookie 中,可选择仅用 Cookie 存储 Token,用户信息通过 Token 调用接口从服务端获取,或者存入加密后的本地存储
  • 如果需要在 Next.js 服务端(getServerSideProps 等场景)读取该用户 Cookie,同样需要做 JSON 反序列化处理

内容的提问来源于stack exchange,提问作者Nxt Invent Solutions

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 11:45:04