当我尝试将字符串转换为对象时,我收到错误``:
Unexpected token u in JSON at position 0
服务
setUser : function(aUser){
//sauvegarder User
localStorage.setItem('User', JSON.stringify(aUser));
},
getUser : function(){
//récuperer User
return JSON.parse(localStorage.getItem('User'));
}
最佳答案
首先要做的是查看您要解析的内容。我猜你会发现它是 "undefined"
,这是无效的 JSON。您收到 undefined
因为您还没有(还)在本地存储中将任何内容保存到该键中。 undefined
然后转换为字符串 "undefined"
其中JSON.parse
无法解析。
我通常在本地存储中存储和检索东西,如下所示:
存储(就像你的一样):
localStorage.setItem("key", JSON.stringify(thing));
检索(这是不同的):
thing = JSON.parse(localStorage.getItem("key") || "null");
if (!thing) {
// There wasn't one, do whatever is appropriate
}
这样,我总是在解析一些有效的东西。
关于angularjs - JSON 中的意外标记 u 位于位置 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37417012/