Javascript 如何在已声明的JSON对象中添加键值对

Javascript 如何在已声明的JSON对象中添加键值对,javascript,json,Javascript,Json,我声明了一个JSON对象,并添加了一些键值对,如下所示: var obj = {}; 并在其中添加了一些数据,如: obj = { "1":"aa", "2":"bb" }; 但是我想在同一个对象中添加更多的键值对,如果我添加与上述相同的键值对,那么它将替换旧的键值对。因此,任何人都可以告诉我如何在同一个JSON对象(即obj)中添加数据。您可以使用点符号或括号符号 var obj = {}; obj = { "1": "aa", "2": "bb" }; obj.another

我声明了一个JSON对象,并添加了一些键值对,如下所示:

var obj  = {};
并在其中添加了一些数据,如:

obj = {
"1":"aa",
"2":"bb"
};

但是我想在同一个对象中添加更多的键值对,如果我添加与上述相同的键值对,那么它将替换旧的键值对。因此,任何人都可以告诉我如何在同一个JSON对象(即obj)中添加数据。

您可以使用点符号或括号符号

var obj = {};
obj = {
  "1": "aa",
  "2": "bb"
};

obj.another = "valuehere";
obj["3"] = "cc";

您能做以下操作吗:

obj = {
    "1":"aa",
    "2":"bb"
};


var newNum = "3";
var newVal = "cc";


obj[newNum] = newVal;



alert(obj["3"]); // this would alert 'cc'
var movie_json = {
                    "id": 100,
                 };

//to insert new key/value to movie_json
movie_json['name'] = 'Harry Potter';
console.log("new key: " + movie_json);

//to update a key/value in movie_json
movie_json['id'] = 101;
console.log("updated key: " +movie_json);

//adding a json array to movie_json and push a new item.
movie_json['movies']=["The Philosopher's Stone"];
movie_json['movies'].push('The Chamber of Secrets');
console.log(movie_json);

您可以通过以下方式在同一对象中添加更多的键值对,而无需替换旧的键值对:

var obj = {};

obj = {
"1": "aa",
"2": "bb"
};

obj["3"] = "cc";
下面是示例演示的代码和JSFIDLE链接,单击按钮将向已经存在的obj添加更多键值对:

var obj = {
    "1": "aa",
    "2": "bb"
};

var noOfItems = Object.keys(obj).length;

$('#btnAddProperty').on('click', function() {
    noOfItems++;
    obj[noOfItems] = $.trim($('#txtName').val());
    console.log(obj);
});

请在json上尝试以下简单操作,插入/更新/推送:

obj = {
    "1":"aa",
    "2":"bb"
};


var newNum = "3";
var newVal = "cc";


obj[newNum] = newVal;



alert(obj["3"]); // this would alert 'cc'
var movie_json = {
                    "id": 100,
                 };

//to insert new key/value to movie_json
movie_json['name'] = 'Harry Potter';
console.log("new key: " + movie_json);

//to update a key/value in movie_json
movie_json['id'] = 101;
console.log("updated key: " +movie_json);

//adding a json array to movie_json and push a new item.
movie_json['movies']=["The Philosopher's Stone"];
movie_json['movies'].push('The Chamber of Secrets');
console.log(movie_json);

可能的重复,实现相同目标的最佳方法如下所述:

function getKey(key) {
  return `${key}`;
}

var obj = {key1: "value1", key2: "value2", [getKey('key3')]: "value3"};

嗨,我为每个对象添加键和值

let persons=[
{
姓名:“老约翰·多伊”,
年龄:30
},{
姓名:“小约翰·多伊”,
年龄:5
}
]
函数addKeyValue(对象、键、数据){
obj[键]=数据;
}
让newinfo=persons.map(函数(person)){
返回addKeyValue(person,'newKey','newValue');
});

控制台日志(人)对象分配将一个或多个源对象复制到目标对象。所以我们可以在这里使用
Object.assign

语法:
Object.assign(目标,…源)

var obj={};
赋值(obj,{“1”:“aa”,“2”:“bb”})
console.log(obj)
您可以试试

json对象的示例代码:

var user={'user':'barney','age':36};
用户[“newKey”]=true;
console.log(用户)


这将导致引发异常。在实例化的JavaScript对象上使用
JSON.parse()
没有任何意义。此外,
.push()
是一种数组方法,不适用于普通对象。您;'你说得对,我回答得太匆忙了!已使用替代(工作)解决方案进行更新。;-)@毗瑟奴它与诺德斯无关,在任何环境中都应该以同样的方式工作。请在查询中更加具体。这是最好的答案,尤其是当您需要向现有对象添加具有多个键值对的大型对象时。