将字符串从本地存储转换回数组
Converting string back to an array from local storage
我可能离我很远,但谁能告诉我这是否可行。
function myFunction(){
var myArray = (localStorage.getItem("storedArray"));
myArray = jQuery.makeArray( myArray );
myArray.push(['someone@myemail','15','myUsername']);
localStorage.setItem("storedArray", JSON.stringify(grabArray));
localStorage.removeItem("storedArray");
}
每次此函数 运行 我都想从本地存储中获取一个数组,将值推送给它,然后将其存储回去,就像更新它一样。这个想法是,一旦我的应用程序中发生事件,此项将被清除,以重新开始记录。
当我从本地存储中获得该项目时,我试图将其重新转换为数组,但我认为这不是执行此操作的方法,因为它没有返回任何内容。 JSON 可以做什么吗?
谢谢。
如果您使用 JSON.stringify()
将对象转换为 JSON 字符串表示,则可以使用 JSON.parse()
将 JSON 表示转换回对象.
function myFunction() {
var storedArray = JSON.parse(localStorage.getItem("storedArray"));
if (storedArray === null) {
storedArray = [];
}
var obj = {
email: "test@email.com",
age: 15,
name: "username"
};
storedArray.push(obj);
localStorage.setItem("storedArray", JSON.stringify(storedArray));
}
将更新后的 storedArray 设置为本地存储中的相同键会覆盖旧值。试试这个代码,你会看到更新后的数组。
信息:本地存储数据存储为键值。
Trott 是对的,您没有解析您保存的 json。
JSON.stringify 将您的 json object/array 转换为字符串。为了取回相同的数据,您必须对其进行解析。
我可能离我很远,但谁能告诉我这是否可行。
function myFunction(){
var myArray = (localStorage.getItem("storedArray"));
myArray = jQuery.makeArray( myArray );
myArray.push(['someone@myemail','15','myUsername']);
localStorage.setItem("storedArray", JSON.stringify(grabArray));
localStorage.removeItem("storedArray");
}
每次此函数 运行 我都想从本地存储中获取一个数组,将值推送给它,然后将其存储回去,就像更新它一样。这个想法是,一旦我的应用程序中发生事件,此项将被清除,以重新开始记录。
当我从本地存储中获得该项目时,我试图将其重新转换为数组,但我认为这不是执行此操作的方法,因为它没有返回任何内容。 JSON 可以做什么吗?
谢谢。
如果您使用 JSON.stringify()
将对象转换为 JSON 字符串表示,则可以使用 JSON.parse()
将 JSON 表示转换回对象.
function myFunction() {
var storedArray = JSON.parse(localStorage.getItem("storedArray"));
if (storedArray === null) {
storedArray = [];
}
var obj = {
email: "test@email.com",
age: 15,
name: "username"
};
storedArray.push(obj);
localStorage.setItem("storedArray", JSON.stringify(storedArray));
}
将更新后的 storedArray 设置为本地存储中的相同键会覆盖旧值。试试这个代码,你会看到更新后的数组。
信息:本地存储数据存储为键值。
Trott 是对的,您没有解析您保存的 json。
JSON.stringify 将您的 json object/array 转换为字符串。为了取回相同的数据,您必须对其进行解析。