2013-03-19 91 views
0

爲了簡單起見,我有car對象的JavaScript陣列如下面(一個例子):如何將對象數組轉換爲JSON(並返回它)?

var car = { 
    "color": "red", 
    "fuelType": "diesel" 
} 

我想此數組的對象存儲在用戶的localStorage的並能夠檢索和添加/刪除它。

這是一些我似乎無法正確使用的示例代碼。

addCar(car); 

function getCars() { 
    var cars = []; 
    if (localStorage['cars']) { 
     cars = localStorage['cars']; 
    } 

    return cars; 
} 

function addCar(car) { 
    var cars = getCars(); 
    cars.push(car); 
    localStorage['cars'] = cars; 
} 

我如何轉換對象的數組到JSON(並返回)?localStorage只允許存儲字符串。我需要將對象數組轉換爲JSON格式,但我不知道如何。

+0

那麼...你的問題是什麼? – Doorknob 2013-03-19 21:53:59

+0

我想我會在這裏重複一遍:如何將對象數組轉換爲JSON(並返回它)? – Redandwhite 2013-03-19 21:54:40

+0

好的,所以你提供了應該這樣做的代碼。它出什麼問題了? – Doorknob 2013-03-19 21:55:03

回答

6

據我所知,本地存儲只支持字符串,所以你必須使用JSON.stringify()JSON.parse()來獲取數據。

+0

我明白這一點。我無法將數組轉換爲JSON字符串,儘管 – Redandwhite 2013-03-19 21:55:23

+1

只能使用數組,但可能將其放入一個對象'var carsObj = {cars:getCars()}'中,然後將其串化。 – WildCrustacean 2013-03-19 21:58:13

+1

@Redandwhite你甚至讀過他的答案嗎?他告訴你使用'JSON.stringify()'和'JSON.parse()'...'JSON.stringify(cars)'將返回數組的字符串表示形式。你在這裏不瞭解什麼? – Shmiddty 2013-03-19 21:59:24