syntaxerror json.parse unexpected character at line 1 column 1 of the json data

level_0 picture level_0 · May 23, 2014 · Viewed 9.4k times · Source

i Don't know what is the problem i got above syntax error in json.parse I m using like below code

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);  
}

while calling getObject('data') i got the error in " firefox " while " no error " in chrome pls help me to figure out the problem i run above sample code separately and it works fine for me but in my project where i m doing something same it cause error.

Answer

pgoldrbx picture pgoldrbx · Sep 17, 2014

I don't get any errors in either Firefox or Chrome. However, you can catch this exception for debugging by adding a try/catch block to the getObject method

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);
        }
    }
}