Javascript:在json对象中添加/删除json元素

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/38010518/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-23 20:58:46  来源:igfitidea点击:

Javascript : add/remove json element in json object

javascriptnode.js

提问by lokeshkumar

I need to modify my JSON Object by add/remove Json element. Here is my JSON Object,

我需要通过添加/删除 Json 元素来修改我的 JSON 对象。这是我的 JSON 对象,

var candidate = {  
   "name":"lokesh",
   "age":26,
   "skills":[  
      "Java",
      "Node Js",
      "Javascript"
   ]
};

I need to remove the element "skills" and output should be like,

我需要删除元素“技能”,输出应该是这样的,

{  
   "name":"lokesh",
   "age":26
}

And I again I need to add the element "skills" as string and the output should be like,

我再次需要将元素“技能”添加为字符串,输出应该是这样的,

{  
   "name":"lokesh",
   "age":26,
   "skills":"javascript"
}

Please help,

请帮忙,

Thanks in advance.

提前致谢。

回答by Praveen

Other ways it can be achieved.

可以通过其他方式实现。

For Adding:

添加:

candidate["skills"] = "javascript";

For Deleting:

删除:

var skill = "javascript";
delete candidate[skill];

or

或者

delete candidate.skills;

回答by Subburaj

For removing:

用于去除:

candidate.delete("skills");

For adding:

添加:

candidate.skills = "javscript"

回答by Ninju

Removing a property of an object can be done by using the delete keyword:

可以使用 delete 关键字删除对象的属性:

candidate.delete("skills");

OR

或者

   delete candidate["skills"];

To add a property to an existing object in JS you could do the following.

要将属性添加到 JS 中的现有对象,您可以执行以下操作。

candidate["skills"] = "javscript";

OR

或者

candidate.skills = "javscript";

https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Working_with_Objectshttps://developer.mozilla.org/en-US/docs/JavaScript/Reference/Statements/for...inhttps://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/delete

https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Working_with_Objects https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Statements/for...in https: //developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/delete

回答by mauretto

For removing:

用于去除:

How do I remove a property from a JavaScript object?

如何从 JavaScript 对象中删除属性?

For adding, just set the new value for that property.

要添加,只需为该属性设置新值。

回答by Abhijit

You can directly assign "javscript" to "skills" key.

您可以直接将“javscript”分配给“技能”键。

var candidate = {  
   "name":"lokesh",
   "age":26,
   "skills":[  
      "Java",
      "Node Js",
      "Javascript"
   ]
};

You can directly do this.

您可以直接执行此操作。

candidate.skills = "javascript";

Or you can delete the "skills" key and add it again.

或者您可以删除“技能”键并重新添加。

e.g.

例如

delete candidate["skills"];

candidate["skills"] = "javascript";

回答by Hith

You should use delete method to delete members of an object.

您应该使用 delete 方法删除对象的成员。

delete candidate.skills;

Note: You cannot delete objects or functions in the global scope with deletekeyword. However you can delete a function which is a member of an object.

注意:不能使用delete关键字删除全局范围内的对象或函数。但是,您可以删除作为对象成员的函数。

回答by Pablo Abad

This piece of coude should do it:

这段代码应该这样做:

var candidate = {  
   "name":"lokesh",
   "age":26,
   "skills":[  
      "Java",
      "Node Js",
      "Javascript"
   ]
};

delete candidate.skills;
console.log(candidate);
candidate["skills"] = "javascript";
console.log(candidate);

回答by Moaz Salem

this is your json object

这是你的 json 对象

var candidate = {  
       "name":"lokesh",
       "age":26,
       "skills":[  
          "Java",
          "Node Js",
          "Javascript"
       ]
    };

to read any prop you can call like:

阅读您可以调用的任何道具,例如:

var name = candidate.name; or candidate[0].name
var age = candidate.age; or candidate[0].age;
var skills = candidate.skills; or candidate[0].skills;

to write any of prop: candidate.name = 'moaz'; candidate.age = 35;

写任何道具:Candidate.name = 'moaz'; 候选人.年龄 = 35;

remove skills value:

移除技能值:

candidate.skills = null; or candidate.skills = '';

here skills is list of json if I use as string value or list of string:

如果我用作字符串值或字符串列表,这里的技能是 json 列表:

candidate.skills = 'javasccript'; //Use skills as string value
candidate.skills.push('javascript'); //Use skills as list of string

to read skills:

阅读技巧:

for (var i = 0; i < candidate.skills.length; i++) {
   var skill = candidate.skills[i];
}