![](/img/trans.png)
[英]JSON example confusing me - about JSON.parse, JSON.stringify, localStorage.setItem and localStorage.getItem
[英]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.