我正在尝试构建购物车功能,用户可以将单个产品添加到产品或对象数组中。
var product = {
"Name": "Bike",
"Price": "900",
"idproduct": "1"
};
现在我想将这个产品存储在普通的json text.Stringify函数中。
var JsonString = JSON.stringify(product);
现在我想把JsonString转换回对象或对象数组。
var JsonObjectArray = JSON.parse(JsonString);
现在我将创建一个新的完全相同的json对象类型,但具有diff值。
var product2 = {
"Name": "Car",
"Price": "12000",
"idproduct": "2"
};
似乎JsonObjectArray没有push方法,因为它被反序列化为单个对象即product1,我应该怎么做才能添加 product2到JsonObjectArray作为aray的另一个成员,并且多次重复该过程。
JsonObjectArray.push(product2);
答案 0 :(得分:3)
从您定义的product
开始,您需要执行以下操作之一:
使用JSON.stringify([product])
以便JsonString
成为JSON数组:
var JsonString = JSON.stringify([product]);
var JsonObjectArray = JSON.parse(JsonString);
将JsonString
保留为单个对象,但从JSON.parse
的结果创建一个元素数组:
var JsonString = JSON.stringify(product);
var JsonObjectArray = [JSON.parse(JsonString)];