在javascript中使用JSON在localStorage中存储数组

时间:2012-10-17 12:25:17

标签: javascript json html5

我已经审阅了这个问题,并为我工作:so q1

现在问题是我使用过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/>";
        }
    }

2 个答案:

答案 0 :(得分:1)

如果使用JSON.stringify在LocalStorage中存储数组,则使用JSON.parse将其返回,返回值为Array,而不是string。因此,当您使用函数mySplitResult for myString(实际上是Array,感谢JSON.parse)时,它会导致错误。所以删除函数mySplitResult,它应该工作正常。

答案 1 :(得分:1)

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

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