Avatar ·

如何在 localStorage / sessionStorage 中保存和读取 JavaScript 对象

大家好。我是 JavaScript 新手,尝试将对象保存到 localStorage 中,以便页面刷新后数据仍然保留。我正在写一个小应用——任务列表 (todo list)。每个任务都是一个包含字段的对象:`{ id: 1, text: "买牛奶", done: false }`。 我尝试这样保存对象数组: ```javascript const tasks = [ { id: 1, text: "买牛奶", done: false }, { id: 2, text: "给医生打电话", done: true } ]; localStorage.setItem('myTasks', tasks); ``` 然后尝试读取: ```javascript const saved = localStorage.getItem('myTasks'); console.log(saved); ``` 在控制台中看到 `[object Object],[object Object]`。这不是数组,而是一个奇怪的字符串。如果输出 `typeof saved`,得到 `string`。我无法访问对象的属性,例如 `saved[0].text` 返回 `undefined`。 我了解到 localStorage 只存储字符串。那么如何正确保存对象呢?是否需要将它们转换为字符串,然后读取时再转换回来?