繁体   English   中英

使用 JSON.parse(localStorage.get) 时,LocalStorage getItem 抛出错误“position 1 处的 JSON 中的意外令牌 o”

[英]LocalStorage getItem throwing error “Unexpected token o in JSON at position 1” when use JSON.parse(localStorage.getItem('list'))

我有两个 js 文件。 在一个文件中,我正在创建一组对象并将它们存储在本地存储中。 在另一个文件中,我从localStorage检索highscores_list

我在这一行收到一条错误消息:

VM2055:1 Uncaught SyntaxError: Unexpected token o in JSON at position 1'

文件 1

var highscores_list = [
    {name:'sham' , score: 10},
    {name:'John' , score: 9}
];

localStorage.setItem('highscores_list',JSON.stringify(highscores_list));

文件 2

var getListItems = JSON.parse(localStorage.getItem('highscores_list')); 

该错误清楚地表明您的 JSON 在某些时候存在问题。 所以它在 JSON.parse() 或 JSON.stringify 期间。 做一件事,尝试在一些在线 JSON linting 工具中验证您的 JSON,看看它是否有效。 问题中给出的示例应该可以正常工作。 如果您使用的是一些不同的 JSON,您能否分享一下小提琴。

您必须在存储在本地存储中的 object 上使用 stringify 两次。

var highscores_list = [
    {name:'sham' , score: 10},
    {name:'John' , score: 9}
];

highscores_list = JSON.stringify(highscores_list);

localStorage.setItem('highscores_list',JSON.stringify(highscores_list));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM