2017-01-25 5 views
0

私はJSオブジェクトの配列を持っています。例:var objectList = [{phone: true},{name: 'room'}]。 私はそれをlocalStorageにプッシュし、このオブジェクトの配列をリタイアして、引き続きそのオブジェクトで作業する必要があります。jsオブジェクトの配列をlocalStorageにプッシュし、それを取得して解析すると失敗します

[object Object],[object Object] 

そして、私はconsole.log(typeof localStorage.getItem('myObject'))をしようとすると、私はstringを得た:私は出力を得console.log(localStorage.getItem('myObject'))をしようとすると、また

Uncaught SyntaxError: Unexpected token o in JSON at position 1 
at JSON.parse (<anonymous>) 

localStorage.setItem('myObject', JSON.stringify(objectList)); 
objectsList = JSON.parse(localStorage.getItem('myObject')); 

そしてこの後、私は、エラーメッセージが表示されました:私はしてみてください。

オブジェクトの配列を適切に取得して解析し、その配列に格納されているオブジェクトを処理するにはどうすればよいですか?

ありがとうございました!

UDPATE:

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')); 
+0

オブジェクトを保存する時点までに問題が発生していると思われます。 'console.log(objectList)' **を保存する前に何が起こるのですか? – Pointy

+0

保存する前に 'console.log(objectList)'を実行すると、 '[Object、Object]'が表示されるので、すべてがうまく見えます。オブジェクトの配列があります。 –

+0

それは私にとてもうまく見えません。 'console.dir(objectList)'はどうですか? – Pointy

答えて

0

あなたが保存しています実際の文字列[object Object],[object Object]は、解析が失敗する理由です。オブジェクトを格納する前に、オブジェクトをJSON(文字列)に変換します。

+0

OPのコードに 'JSON.stringify()'コールがあります。 – Pointy

+0

あなたは正しく、私の悪いです。私はそれを見た前に可能性がありました。 – Gabriel

関連する問題