javascript - syntaxerror json.parse json 数据第 1 行第 1 列的意外字符

标签 javascript json firefox session-storage

我不知道我在 json.parse 中遇到的上述语法错误是什么问题,我正在使用如下代码

Storage.prototype.setObject = function(key, value) {
   this.setItem(key, JSON.stringify(value));
}

Storage.prototype.getObject = function(key) {
   var value = this.getItem(key);
   return value && JSON.parse(value);
}

function main() {
   var data = { 
       "a":"something1",
       "b":"something2"
   };
   sessionStorage.setObject('data',data);
   var newData = sessionStorage.getObject('data');
   console.log(newData);  
}

在调用 getObject('data') 时,我在“firefox”中收到错误,而在 chrome 中“没有错误”,请帮助我找出问题,我分别运行上面的示例代码,它对我来说工作正常,但在我的项目中我在做同样的事情会导致错误。

最佳答案

我在 Firefox 或 Chrome 中都没有收到任何错误。但是,您可以通过将 try/catch block 添加到 getObject 方法

来捕获此异常以进行调试
Storage.prototype.getObject = function(key) {
    var value = this.getItem(key);
    if (value) {
        try {
            value = JSON.parse(value);
        } catch (err) {
            console.error("Error parsing stored data: " + err);
        }
    }
}

关于javascript - syntaxerror json.parse json 数据第 1 行第 1 列的意外字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23835793/

相关文章:

javascript - VueJS Prop - 如何避免 "class"属性继承?

javascript - 按类名比较表中的值

json - POST 请求后在 swift 模型中访问值的问题

javascript - 通知在网络扩展 (Firefox) 中不起作用

javascript - SVG Chrome FireFox 区别使用 defs 元素,图形之间的关系

javascript - 定位 Accordion 中的切换按钮

javascript - react : Change component's children from the outside

jquery - 是什么导致 $.ajax 导致完全回发

java - 如何将jsonarray转换为map或其他可以与datastax值进行比较的格式

html - 背景图像在 Firefox 中不呈现