如何使用 JavaScript 向 JSON 对象添加新属性(元素)?
使用 JavaScript 向 JSON 对象添加新属性(元素)
IT技术
javascript
json
2021-01-22 18:18:37
6个回答
JSON 代表 JavaScript 对象表示法。JSON 对象实际上是一个尚未转换为它所代表的对象的字符串。
要将属性添加到 JS 中的现有对象,您可以执行以下操作。
object["property"] = value;
或者
object.property = value;
如果您提供一些额外的信息,例如您在上下文中需要做什么,您可能会得到更量身定制的答案。
var jsonObj = {
members:
{
host: "hostName",
viewers:
{
user1: "value1",
user2: "value2",
user3: "value3"
}
}
}
var i;
for(i=4; i<=8; i++){
var newUser = "user" + i;
var newValue = "value" + i;
jsonObj.members.viewers[newUser] = newValue ;
}
console.log(jsonObj);
JSON 对象只是一个 javascript 对象,因此 JavaScript 是一种基于原型的语言,您所要做的就是使用点符号来解决它。
mything.NewField = 'foo';
使用 ECMAScript 自 2015 年以来,您可以使用扩展语法(……三个点):
let people = { id: 4 ,firstName: 'John'};
people = { ...people, secondName: 'Fogerty'};
它允许您添加子对象:
people = { ...people, city: { state: 'California' }};
结果将是:
{
"id": 4,
"firstName": "John",
"secondName": "Forget",
"city": {
"state": "California"
}
}
您还可以合并对象:
var mergedObj = { ...obj1, ...obj2 };
感谢这篇文章。我想添加一些有用的东西。
对于IE来说,使用就好
object["property"] = value;
语法,因为 IE 中的某些特殊词可能会给您带来错误。
一个例子:
object.class = 'value';
这在 IE 中失败,因为“类”是一个特殊的词。我花了几个小时来解决这个问题。
其它你可能感兴趣的问题