使用javascript中的JSON在localStorage中存储阵列

使用javascript中的JSON在localStorage中存储阵列,javascript,json,html,Javascript,Json,Html,我已经提出了这个问题,并为我工作: 现在的问题是,我已经使用JSON.stringify&JSON.parse将数组存储在localStorage中。但是,当我再次运行代码并尝试在localStorage上使用JSON.parse时,没有得到任何结果。我不知道出了什么问题 以下是代码: function BankProDisplay() { var myString = JSON.parse(localStorage['bankpro']); var my

我已经提出了这个问题,并为我工作:

现在的问题是,我已经使用JSON.stringify&JSON.parse将数组存储在localStorage中。但是,当我再次运行代码并尝试在localStorage上使用JSON.parse时,没有得到任何结果。我不知道出了什么问题

以下是代码:

    function BankProDisplay() {
        var myString = JSON.parse(localStorage['bankpro']);
        var mySplitResult = myString.split(",");
        for (i = 0; i < mySplitResult.length; i++) {
            document.getElementById('bankpro').innerHTML = document.getElementById('bankpro').innerHTML + mySplitResult[i] + "<br/>";
        }
    }
函数BankProDisplay(){
var myString=JSON.parse(localStorage['bankpro']);
var mySplitResult=myString.split(“,”);
对于(i=0;i”;
}
}

如果使用JSON.stringify将数组存储在LocalStorage中,则使用JSON.parse将其返回,返回值是数组,而不是字符串。因此,当您将函数mySplitResult用于myString(由于JSON.parse,它实际上是数组)时,它会导致一个错误。因此,删除函数mySplitResult,它应该可以正常工作

var myString = JSON.parse(localStorage['bankpro']);

JSON.parse
返回一个javascript对象,而不是一个字符串,它不会有
split
方法。

在浏览器中运行此代码时,我会在javascript控制台中进行一些测试,以检查localStorage['bankpro'中存储的值,以确保它是您期望的字符串化JSON。如果您正确地获取了该值,请查看当您尝试JSON.parse(…)该结果时会发生什么。您不需要序列化数据以将其存储在localStorage中—实际上您可以非常愉快地将数组推入localStorage。是的,得到了。在我的代码中,我只是将对象转换为字符串。而且工作得很好。myString.toString().split(“,”);您不需要
toString()
-本地存储访问器将始终为您提供一个字符串。很高兴这有帮助:)