24

我有一个像这样的 json 变量

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

我想将另一个键和值推送到 jsondata。之后我的 jsondata 必须是这样的。

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

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

谢谢你

4

2 回答 2

29

像这样

jsondata.FDamount = 'false';
// or
jsondata['FDamount'] = 'false';
于 2012-12-22T11:10:04.330 回答
8

只需这样做:

jsondata['FDamount'] = 'false';
jsondata['DDamount'] = 'true';

或这个 :

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

顺便说一句,您将布尔值定义为字符串,正确的方法应该是:

jsondata['FDamount'] = false;
jsondata['DDamount'] = true;

为了更进一步,您可以使用 jQuery.extend 来扩展原始 var,如下所示:

jQuery.extend(jsondata, {'FDamount': 'false', 'DDamount': 'true'});
// Now, jsondata will be :
{"all":"true","FDamount":"false","DDamount":"true"}

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

(我使用的是单引号,但双引号也可以)

于 2012-12-22T11:09:51.830 回答