Javascript 将js对象数组推送到localStorage,然后检索并解析时失败

Javascript 将js对象数组推送到localStorage,然后检索并解析时失败,javascript,arrays,json,object,local-storage,Javascript,Arrays,Json,Object,Local Storage,我有一个JS对象数组。例如:var objectList=[{phone:true},{name:'room'}] 我需要将它推送到localStorage,然后检索这个对象数组并继续使用它 我试过: localStorage.setItem('myObject', JSON.stringify(objectList)); objectsList = JSON.parse(localStorage.getItem('myObject')); 在此之后,我收到了错误消息: 未捕获的语法错误:

我有一个JS对象数组。例如:
var objectList=[{phone:true},{name:'room'}]

我需要将它推送到localStorage,然后检索这个对象数组并继续使用它

我试过:

 localStorage.setItem('myObject', JSON.stringify(objectList));
 objectsList = JSON.parse(localStorage.getItem('myObject'));
在此之后,我收到了错误消息:

未捕获的语法错误:JSON中位置1处的意外标记o
在JSON.parse()处

另外,当我尝试
console.log(localStorage.getItem('myObject'))
时,我获得了输出:

[object Object],[object Object]
当我尝试
console.log(localStorage.getItem('myObject'))时,我得到了
string

我如何才能正确地检索和解析对象数组,以便能够处理存储在该数组中的对象

谢谢大家!

更新:

var roomsList = [{
category: "ЛЮКС",
cond: true,
wifi: true,
smoke: true,
restrAbility: true,
veranda: true,
kingSizeBed: true,
numFree: 5,
numBusy: 2,
price: 1000,
image: "img/rooms/room0.jpg",
description: "Просторные двухкомнатные люксы с гостиными и уютными спальнями. В оформлении интерьеров использованы предметы антиквариата музейной ценности: мебель, музыкальные инструменты, торшеры и лампы из Богемского стекла - все это рождает уникальный, неповторимый стиль каждого номера. Мраморные ванные комнаты оборудованы гидромассажными ваннами. Все номера данной категории обращены окнами на живописный ансамбль.",
},
{
category: "СТАНДАРТ",
cond: false,
wifi: true,
smoke: false,
restrAbility: false,
veranda: false,
kingSizeBed: false,
numFree: 10,
numBusy: 8,
price: 120,
image: "img/rooms/room0.jpg",
description: "Просторные двухкомнатные люксы с гостиными и уютными спальнями. В оформлении интерьеров использованы предметы антиквариата музейной ценности: мебель, музыкальные инструменты, торшеры и лампы из Богемского стекла - все это рождает уникальный, неповторимый стиль каждого номера. Мраморные ванные комнаты оборудованы гидромассажными ваннами. Все номера данной категории обращены окнами на живописный ансамбль.",
 }] 
等等。。(阵列中的14个对象)所有其他逻辑和输出与我前面描述的相同:

var roomsObject = localStorage.getItem('roomsObject');
if (!roomsObject) {
    localStorage.setItem('roomsObject', JSON.stringify(roomsList));
}
roomsList = JSON.parse(localStorage.getItem('roomsObject'));

可能您正在存储实际字符串
[object object],[object object]
,这就是解析失败的原因。在存储对象之前将其转换为JSON(字符串)。

我怀疑问题是在您保存对象之前发生的。如果在保存它之前
console.log(objectList)
会发生什么?如果在保存它之前
console.log(objectList)
我会得到
[Object,Object]
,所以一切看起来都很好,有一个对象数组。这在我看来不太好。怎么样
console.dir(objectList)
?在这种情况下,我得到
Array[2]
它可以工作。一定有一些你没有发布的东西导致了你的问题。OP的代码中有一个
JSON.stringify()
调用。你说得对,我的错。在我看到这一点之前是有可能的。