繁体   English   中英

如何使用Javascript向JSON对象添加元素

[英]How to add element to JSON object with Javascript

所以说我有一个像这样的JSON对象:

{"name":"asdf","quantity":"3","_id":"v4njTN7V2X10FbRI"}

创建它时,我无法对其进行修改。 但我想使它看起来像这样:

{"name":"asdf","quantity":"3","_id":"v4njTN7V2X10FbRI", checked: true}

那么我该如何使用javascript呢?

在JavaScript的上下文中,没有“ JSON对象”之类的东西。 您所拥有的是JavaScript对象。 JSON是一种数据交换格式,它当然是从JavaScript语法派生的,但是直接在JavaScript中,对象是对象。 要添加属性,只需执行以下操作:

var object = {"name":"asdf","quantity":"3","_id":"v4njTN7V2X10FbRI"};

object.checked = true;

现在,如果您真正得到的是一个包含JSON序列化对象的字符串,那么要做的事情就是反序列化,添加属性,然后再次对其进行序列化。

当前问题的结构方式:

> myJson = {"name":"asdf","quantity":"3","_id":"v4njTN7V2X10FbRI"}
Object {name: "asdf", quantity: "3", _id: "v4njTN7V2X10FbRI"}
> myJson.checked = true;
true
> myJson
Object {name: "asdf", quantity: "3", _id: "v4njTN7V2X10FbRI", checked: true}

但我敢打赌,您可能必须先使用以下代码进行解码和重新编码:

JSON.parse(myJson)
JSON.stringify(myJson)

整个事情看起来像

// get json and decode    
myJson = JSON.parse(response);
// add data
myJson.checked = true;
// send new json back
$.post('/someurl/', JSON.stringify(myJson));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM