如何使用JavaScript或jQuery向JSON添加键和值

26

我有一个像这样的JSON变量

var jsondata={"all":"true"}

我想将另一个键和值添加到JSON数据中。之后,我的JSON数据应该像这样。

{"all":"true","FDamount":"false","DDamount":"true"}

怎样做?我尝试了jsondata.push({"FDamount":"false"})和jsondata.push("FDamount:false"),但这两种方法都不起作用。

谢谢


1
你好像没用到JSON?那些只是简单的对象字面量(而且没有数组,顺便说一句)。 - Bergi
2个回答

33

像这样

jsondata.FDamount = 'false';
// or
jsondata['FDamount'] = 'false';

9
只需简单地执行以下步骤:
jsondata['FDamount'] = 'false';
jsondata['DDamount'] = 'true';

或者这样:

jsondata.FDamount = 'false';
jsondata.DDamount = 'true';

顺便说一下,你将boolean定义为字符串,正确的方式应该是:
jsondata['FDamount'] = false;
jsondata['DDamount'] = true;

为了更进一步,您可以使用jQuery.extend来扩展原始变量,如下所示:
jQuery.extend(jsondata, {'FDamount': 'false', 'DDamount': 'true'});
// Now, jsondata will be :
{"all":"true","FDamount":"false","DDamount":"true"}

jQuery.extend 是在使用 jQuery 时可用的(当然),但我相信你也可以在其他库/框架中找到类似的方法。

(我正在使用单引号,双引号也可以)


我该如何为每个元素执行此操作?我需要为每个元素添加新的键和值。 - Can Ürek
“每个元素”是什么意思? - Cyril N.
每个元素是解析您的Json数据时的每个项目。我想为您的Json结构中的每个项目添加一个带有值的键。 - Can Ürek

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接