如何将对象数组转换为JSON(并返回它)?

如何将对象数组转换为JSON(并返回它)?

问题描述:

为了简单起见,我有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

据我所知,本地存储只支持字符串,所以你必须使用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