javascript - 为什么我的 stringify 不能在“if”语句中解析?
问题描述
const friends = ["john","peter","bob"];
localStorage.setItem("friends", JSON.stringify(friends));
const values = JSON.parse(localStorage.getItem("friends"));
console.log(values[2]);
// console.log(values[1]);
// console.log(values[2]);
let fruits;
console.log(fruits);
if (localStorage.getItem('fruits')) {
fruits = JSON.parse(localStorage.getItem('fruits'));
}
else {
fruits = [];
}
console.log(fruits);
fruits.push("apple");
fruits.push("orange");
localStorage.setItem("fruits", JSON.stringify(fruits));
为什么第一个数组会在 chrome 中正常运行,我可以从 dev.tools 清楚地检查控制台和应用程序,但是当我尝试创建一个空数组并推送不同的值 fx“apple”和“orange”时,我不能。我的控制台说错误出现在“if”语句中,但我不明白为什么。有什么想法吗?
解决方案
我相信答案就在引号中。JSON 语法非常严格,需要使用双引号。将 if 语句中的所有单引号更改为双引号,看看是否可以解决您的问题。
推荐阅读
- apache-spark - 如何在RDD中将字符串元素转换为数字一
- r - R如何从长格式转换为宽格式
- java - Java/SpringBoot Web 应用程序。插入具有自动递增 id 列的新行
- json - 正则表达式匹配 JSON 值
- python - 如何使用 subplot2grid 自定义子图中的每个轴?
- flask - 如何记录到具有一对多关系的数据库?
- mysql - 我的 WordPress 网站和 phpMyAdmin 无法连接到 MySQL
- java - 有没有办法找到连接到我的 android 以打印文档的打印机的打印机名称?
- python-3.x - 提取文件夹中的多个文件 - [Errno 2] 没有这样的文件或目录
- reporting-services - 无法查看 SSRS 报告管理器并且报告生成失败