如何使用javascript或jquery为json添加键和值

JSA*_*ict 21 javascript json

我有一个像这样的json变量

var jsondata={"all":"true"}
Run Code Online (Sandbox Code Playgroud)

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

{"all":"true","FDamount":"false","DDamount":"true"}
Run Code Online (Sandbox Code Playgroud)

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

谢谢

sen*_*enK 27

像这样

jsondata.FDamount = 'false';
// or
jsondata['FDamount'] = 'false';
Run Code Online (Sandbox Code Playgroud)


Cyr*_* N. 8

只需这样做:

jsondata['FDamount'] = 'false';
jsondata['DDamount'] = 'true';
Run Code Online (Sandbox Code Playgroud)

或这个 :

jsondata.FDamount = 'false';
jsondata.DDamount = 'true';
Run Code Online (Sandbox Code Playgroud)

顺便说一句,你将boolean定义为string,正确的方法应该是:

jsondata['FDamount'] = false;
jsondata['DDamount'] = true;
Run Code Online (Sandbox Code Playgroud)

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

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

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

(我使用单引号,但双引号也有效)