使用JSON.parse时,'未捕获的SyntaxError:意外的标记u'

Juv*_*uvi 7 javascript jquery json

我在使用LocalStorage的计算机上使用JSON.parse作为一个简单的数据库.它工作顺利,直到我正在检查这个"数据库"; 下面是用于向LocalStorage输入信息的代码:

var users = JSON.parse(localStorage.registeredUsers);
users.push({username:name, password:userpass, connected:false});
localStorage.registeredUsers = JSON.stringify(users);
Run Code Online (Sandbox Code Playgroud)

当我'检查那些注册用户时,我收到错误"Uncaught SyntaxError:Unexpected token u":

var users = JSON.parse(localStorage.registeredUsers);
        if(users[userindex].connected)
        {.........}
Run Code Online (Sandbox Code Playgroud)

该错误指向JSON.parse行.我试图用一些类似的主题弄清楚但却无法找到方法.

我推入localstorage数组的代码:

function regBtn(event)
    {
        event.preventDefault();
        name=document.forms["regform"]["username"].value;
        userpass=document.forms["regform"]["password"].value;
        localStorage.username=name;
        localStorage.password=userpass;
        if(!(localStorage.registeredUsers))
        {
            localStorage.registeredUsers = '[]';
        }
        var users = JSON.parse(localStorage.registeredUsers);
        users.push({username:name, password:userpass, connected:false});
        localStorage.registeredUsers = JSON.stringify(users);
        $('#mainContent').load('HomePage.html');        
    }
Run Code Online (Sandbox Code Playgroud)

Cha*_*ato 7

尝试

var users = localStorage.registeredUsers? JSON.parse(localStorage.registeredUsers) : [];
Run Code Online (Sandbox Code Playgroud)

或者如果你不喜欢三元运算符,

var users=[];
if(localStorage.registeredUsers){
  users=JSON.parse(localStorage.registeredUsers);
}
Run Code Online (Sandbox Code Playgroud)

可能有帮助