Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将数据推入JSON变量_Javascript_Json_Push - Fatal编程技术网

Javascript 如何将数据推入JSON变量

Javascript 如何将数据推入JSON变量,javascript,json,push,Javascript,Json,Push,我有一个JSON变量,如下所示: {"events": [ {"event_id": "1", "event_name": "Breakfast"}, {"event_id": "1", "event_name": "Calling Bob"} ]} 我需要使用javascript在每个事件中推送另一个属性,并使其如下所示: {"events": [ {"event_id": "1", "event_name": "Breakfast", "event_type": "calendar"},

我有一个JSON变量,如下所示:

{"events": [
{"event_id": "1", "event_name": "Breakfast"},
{"event_id": "1", "event_name": "Calling Bob"}
]}
我需要使用javascript在每个事件中推送另一个属性,并使其如下所示:

{"events": [
{"event_id": "1", "event_name": "Breakfast", "event_type": "calendar"},
{"event_id": "1", "event_name": "Calling Bob", "event_type": "calendar"}
]}

首先将其转换为
对象

var obj = JSON.parse(theJSON);

for(var i = 0; i < obj.events.length; ++ i)
    obj.events[i].event_type = "calendar";

theJSON = JSON.stringify(obj);
var obj=JSON.parse(theJSON);
对于(变量i=0;i
如果您有

var obj = {"events": [....
那就用

for (var i = 0; i < obj.events.length; ++i)
    obj.events[i].event_type = "calendar";
for(变量i=0;i
或优化:

for (var i = 0, len = obj.events.length; i < len; ++i)
    obj.events[i].event_type = "calendar";
for(变量i=0,len=obj.events.length;i
wtf你在做什么?这与老年退休金问题无关。只需将条目推入数组。不需要字符串化/解析。他明确地说他需要处理JSON,而不是JS对象。@Christoph-这正是OPs的问题。。。他不想将另一个元素推入数组。。。把问题再读一遍。(+ 1,但考虑更改为循环的正常<代码>),因为数组中的迭代容易出错,因为可以无意中触摸对象的不相关字段(考虑<代码> var a=[“fo”];A.Myfield=3</Cord>:In将选择“0”和“Myfield”字段。。此代码缺少hasOwnProperty,并通过省略
{}
,-1引入了易于出错的表示法。请参阅我对James McLaughlin的答案的评论,了解为什么不建议在数组上进行迭代。除了比通常的索引迭代慢一点之外。谢谢你的回答,我从中学到了一些新的东西。。如何使用循环的幻想:)
var yourJson = {"events": [
    {"event_id": "1", "event_name": "Breakfast"},
    {"event_id": "1", "event_name": "Calling Bob"}
]};

for(var eventKey in yourJson.events) {
    yourJson.events[eventKey]['event_type'] = 'calendar';
}