Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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或jquery向json添加键和值_Javascript_Json - Fatal编程技术网

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

如何使用javascript或jquery向json添加键和值,javascript,json,Javascript,Json,我有一个类似这样的json变量 var jsondata={"all":"true"} 我想将另一个键和值推送到jsondata。在那之后,我的jsondata必须是这样 {"all":"true","FDamount":"false","DDamount":"true"} 怎么做???我尝试了jsondata.push({“FDamount”:“false”})和jsondata.push(“FDamount:false”)。这两种方法都不起作用 谢谢只需执行以下操作: jsondata[

我有一个类似这样的json变量

var jsondata={"all":"true"}
我想将另一个键和值推送到jsondata。在那之后,我的jsondata必须是这样

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

谢谢

只需执行以下操作:

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时是可用的,但我相信您可以在其他库/框架中找到类似的方法

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

像这样

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

您似乎没有在任何地方使用JSON?这些只是简单的对象文字(顺便说一句,没有数组),我如何为每个元素做到这一点?我需要为每个元素添加新的键和值。你说的“每个元素”是什么意思?当解析到一个对象时,“每个元素”就是每个项目,你可以看到Json数据项。我想为Json结构中的每个项添加一个带有值的键。