spa*_*cut 8 javascript arrays jquery json object
我创建了一个需要存储并保留给另一个页面的对象数组。
对象数组类似于:
var cheese_array = [
{
name: "Chedder",
age: "34",
smelly: true
},
{
name: "Brie",
age: "4",
smelly: false
},
{
name: "Blue Stilton",
age: "13",
smelly: true
}
];
Run Code Online (Sandbox Code Playgroud)
但是当我使用JSON.stringify()它时,它不会对对象进行字符串化,而只会对数组进行字符串化。所以我最终得到了如下所示的数组:
[object Object], [object Object], [object Object]
Run Code Online (Sandbox Code Playgroud)
那么你如何在这个数组中字符串化这些对象。
编辑: 然后将此对象数组传递给类似于以下内容的点击函数:
$("#a-button").click(function() {
var cheese_arr_stringify = JSON.stringify(cheese_array);
sessionStorage.cheeseArray = cheese_arr_stringify;
if(sessionStorage.cheeseArray) {
window.location.href = "../";
}
});
Run Code Online (Sandbox Code Playgroud)
差不多,它设置cheese_arr_stringify为对象数组的字符串化版本。然后它将此字符串化代码设置为会话密钥。在此之后,一旦设置了 cheeseArray,它就会将它发送到一个目录。
您的对象缺少一个逗号,如下所示:
name: "Blue Stilton",
age: "13"//comma is missing here
smelly: true
Run Code Online (Sandbox Code Playgroud)
JSON.stringify 工作正常,如下所示。
name: "Blue Stilton",
age: "13"//comma is missing here
smelly: true
Run Code Online (Sandbox Code Playgroud)
但是,我不确定您如何获得日志 [object Object]、[object Object]、[object Object] 我假设您正在控制台记录其他内容,请在您的代码中检查。
使用 ,(逗号)更新 JSON
name: "Blue Stilton",
age: "13",
smelly: true
Run Code Online (Sandbox Code Playgroud)
name: "Blue Stilton",
age: "13",
smelly: true
Run Code Online (Sandbox Code Playgroud)
var cheese_array = [
{
name: "Chedder",
age: "34",
smelly: true
},
{
name: "Brie",
age: "4",
smelly: false
},
{
name: "Blue Stilton",
age: "13",
smelly: true
}
];
var details = JSON.stringify(cheese_array);
alert(details);Run Code Online (Sandbox Code Playgroud)