javascript - JSON.parse() 和 JSON.stringify() 在下面的代码中做什么。我正在建立一个图书馆
问题描述
class Store{
static getBooks(){
let books;
if(localStorage.getItem('books') === null){
books = [];
}else{
books = JSON.parse(localStorage.getItem('books'));
}
return books;
}
static addBook(book){
//get the books form The GetBooks() Function
const books = Store.getBooks();
books.push(book);
localStorage.setItem('books',JSON.stringify('books'));
}
}
这是我为在本地存储书籍而编写的代码。我在构建它时正在观看 Youtube 教程,但我似乎不了解 JSON 的作用
解决方案
localStorage 可以将数据保存为字符串格式,因此在将其用作 Javascript 中的对象数据之前,您需要使用 JSON.parse() 方法将其转换为对象。
将其保存回 localStorage 时,需要使用 JSON.stringify() 将其转回字符串值
推荐阅读
- react-native - React Native:TypeError:this.state.schedule.map 不是对象
- jdbc - kafka-connect org.apache.avro.SchemaParseException:非法字符 $
- javascript - 无法阻止表单在点击后自动提交两次
- html - 如何使用 nodejs 解析 html 页面以查找 qr 码?
- c# - 使用多个 DefaultContractResolver 反序列化 JSON
- ansible - 如何解决具有特定属性的库存成员?
- reactjs - 当元素更改时,从数组映射的 React Native 动态视图不会更新
- c++ - 程序输出奇怪的字符
- python - 如何使二进制文件的路径在 Python 虚拟环境中保持一致?
- javascript - 在没有页面重新加载的情况下,Sapper 会话在生产构建中没有正确设置