我需要填充一个json文件,现在我有这样的东西:
{"element":{"id":10,"quantity":1}}
我需要添加另一个“元素”。我的第一步是使用cart = json将该json放入Object类型中。解析,现在我需要添加新的元素。
我想我必须使用手推车。push添加另一个元素,我尝试了这个:
var element = {};
element.push({ id: id, quantity: quantity });
cart.push(element);
但是当我尝试做元素时,我得到了错误“对象没有方法推”。push,我认为我做了一些非常错误的事情,因为我没有告诉“元素”的任何地方。
我该怎么做呢?
编辑:对不起,我的脑子里有很多混乱。
我认为我只能从JSON中获取数据时的对象类型。解析,但我得到了我放在JSON的第一个地方。
用数组代替对象解决了我的问题,我用了很多建议,谢谢大家!
在原始对象中添加新的key/pair元素:
const obj = { a:1, b:2 }
const add = { c:3, d:4, e: ['x','y','z'] }
Object.entries(add).forEach(([key,value]) => { obj[key] = value })
Obj新值:
{a: 1, b: 2, c: 3, d: 4, e: ['x', 'y', 'z'] }
为了防止其他人需要这个,我终于找到了一个添加对象或对象数组的好方法:
var myobj = {}
// These two options only work for single-valued keys, not arrays or objects
myobj["a"] = 1
myobj.b = 2
// This one works for everyting:
Object.assign(myobj, {"key": "value"}); // single-value
// Add object
Object.assign(myobj, {"subobj":
{
"c": 3
}
});
// Add array of objects
Object.assign(myobj, {"subarr":
[
{
"d": 4,
},
{
"e": 5
}
]
});