Javascript 如何在已声明的JSON对象中添加键值对
我声明了一个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
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()
是一种数组方法,不适用于普通对象。您;'你说得对,我回答得太匆忙了!已使用替代(工作)解决方案进行更新。;-)@毗瑟奴它与诺德斯无关,在任何环境中都应该以同样的方式工作。请在查询中更加具体。这是最好的答案,尤其是当您需要向现有对象添加具有多个键值对的大型对象时。