我需要填充一个json文件,现在我有如下内容:
{"element":{"id":10,"quantity":1}}
我需要添加另一个“元素”。我的第一步是使用cart=json将json放入对象类型中。解析
,现在我需要添加新元素。我想我必须使用购物车。按
添加另一个元素,我尝试了以下方法:
var element = {};
element.push({ id: id, quantity: quantity });
cart.push(element);
但是当我尝试做element.push
时,我得到了错误"对象没有方法推送",我认为我做了一些非常错误的事情,因为我没有告诉任何地方的"元素"。
我该怎么做?
编辑:对不起,我脑子里有很多困惑。
我认为从JSON获取数据时只能获取对象类型。解析
,但我首先得到了我在JSON中输入的内容。
用数组代替对象解决了我的问题,我也用了这里的很多建议,谢谢大家!
要附加到对象,请使用object。分配
js prettyprint-override">var ElementList ={}
function addElement (ElementList, element) {
let newList = Object.assign(ElementList, element)
return newList
}
console.log(ElementList)
输出:
{“元素”:{“id”:10,“数量”:1},“元素”:{“id”:11,“数量”:2}
那一排
var element = {};
将元素
定义为普通对象。本机JavaScript对象没有push()
方法。要向普通对象添加新项,请使用以下语法:
element[ yourKey ] = yourValue;
另一方面,您可以将元素
定义为一个数组,使用
var element = [];
然后可以使用push()
添加元素。
您的元素不是数组,但是您的购物车需要是数组才能支持许多元素对象。代码示例:
var element = {}, cart = [];
element.id = id;
element.quantity = quantity;
cart.push(element);
如果您希望购物车是一个对象数组形式{元素:{id: 10,数量: 1}}
然后执行:
var element = {}, cart = [];
element.id = id;
element.quantity = quantity;
cart.push({element: element});
JSON。stringify()
在评论中提到了一个问题:
>> JSON.stringify([{a: 1}, {a: 2}])
"[{"a":1},{"a":2}]"
问题内容: 我有一个从JSON文件读取的JSON格式对象,该对象包含在一个名为teamJSON的变量中,如下所示: 我想向数组添加一个新项,例如 最后 在写回文件之前。什么是添加到新元素的好方法?我接近了,但是所有双引号都被转义了。我一直在寻找一个很好的答案,但是没有一个案例能解决这个问题。任何帮助表示赞赏。 问题答案: JSON 只是一种 表示法 ;进行所需的更改,以便可以将更改应用于本机 Ja
问题内容: 假设我有一个对象 如何通过添加方法扩展该对象,并确保将来的实例具有此方法? 问题答案: 您需要将其添加到Foo的原型中:
问题内容: 这件事困扰了我一段时间。我为什么不能做: …虽然我可以执行以下操作? 这是什么规则?您能给我介绍一下吗? 问题答案: 您可以向具有的任何对象添加属性。 例如,没有它。 字符串和其他简单的内置对象也没有它。 使用类也没有它。 除非前面的声明适用,否则用定义的类都具有它。 如果使用/的对象没有/ ,通常是为了节省空间。例如,如果有一个命令,那就太过分了- 想象一下一个非常短的字符串的膨胀程
问题内容: 令我惊讶的是,JavaScript的Date对象没有实现任何类型的add函数。 我只是想要一个可以做到这一点的函数: 我只是希望有一个方向的指针。 我需要进行字符串解析吗? 我可以使用setTime吗? 毫秒呢? 像这样: 不过,这似乎确实很骇人-甚至行得通吗? 问题答案: JavaScript本身具有可怕的日期/时间API。尽管如此,您仍可以使用纯JavaScript进行此操作:
我有个文件名测试。json 我读了这个文件,我想得到这个 我要阅读和构建的代码 从JSON的那句话中,我得到了 com.google.gson.stream.MalformedJsonException:使用JsonReader.setLenient(true)接受格式错误的JSON 我的绳子坏了? 我试过了 我知道这不是JSON数组。
问题内容: STORE = { item : function() { } }; STORE.item.prototype.add = function() { alert(‘test 123’); }; STORE.item.add(); 一段时间以来,我一直在试图找出问题所在。为什么不起作用?但是,当我使用以下命令时,它可以工作: 问题答案: 原型对象应在构造函数上使用,基本上是将使用new运