我在 google 上搜索并反复研究如何从 JSON 对象中删除元素。
这是我的简化 JSON,用于说明我的要求。
捆绑:
{
"resourceType": "Bundle",
"meta": {
"lastUpdated": "2017-10-06T04:42:22.411Z"
},
"type": "searchset",
"total": "0",
"entry": [
{
"_id": "59d5739e668e9e3fd29aeb0d",
"resource": {
"id": "59d5739e668e9e3fd29aeb0d"
},
"__v": 0
},
{
"_id": "59d6a3fae4b45d50c5ffd4f7",
"resource": {
"id": "59d6a3fae4b45d50c5ffd4f7"
},
"__v": 0
},
{
"_id": "59d6a831e4b45d50c5ffd4fa",
"resource": {
"id": "59d6a831e4b45d50c5ffd4fa"
},
"__v": 0
}
]
}
如何删除所有entry._id和entry.__v? 我尝试过这些,但不起作用。
delete bundle.meta; <-- meta is on level 1, it works.
delete bundle.entry._id; <-- not working. The _id under entry
delete bundle.__v; <-- not working. The __v is also under entry
如何在每个条目下添加新元素,例如下面的“fullname”
我想要的结果 - 删除“_id”和“__v”,然后将“fullname”添加到条目[]中:
{
"resourceType": "Bundle",
"meta": {
"lastUpdated": "2017-10-06T04:42:22.411Z"
},
"type": "searchset",
"total": "0",
"entry": [
{
"fullname": "Apple",
"resource": {
"id": "59d5739e668e9e3fd29aeb0d",
}
},
{
"fullname": "Orange",
"resource": {
"id": "59d6a3fae4b45d50c5ffd4f7"
},
}, ......
我尝试了很多方法,也用谷歌搜索了很多。感谢您的帮助!
<小时/>感谢维韦克的回答。它有效。
for (var i = 0; i < bundle.entry.length; i++) {
delete bundle.entry[i]._id;
delete bundle.entry[i].__v;
bundle.entry[i].fullname = "Test";
}
最佳答案
请尝试下面的代码。测试了一下可以帮到你。
var object1 = {
"resourceType": "Bundle",
"meta": {
"lastUpdated": "2017-10-06T04:42:22.411Z"
},
"type": "searchset",
"total": "0",
"entry": [
{
"_id": "59d5739e668e9e3fd29aeb0d",
"resource": {
"id": "59d5739e668e9e3fd29aeb0d",
},
"__v": 0
},
{
"_id": "59d6a3fae4b45d50c5ffd4f7",
"resource": {
"id": "59d6a3fae4b45d50c5ffd4f7"
},
"__v": 0
},
{
"_id": "59d6a831e4b45d50c5ffd4fa",
"resource": {
"id": "59d6a831e4b45d50c5ffd4fa"
},
"__v": 0
}
]
};
var array1=['Apple','Orange','Gava']
function a(){
for(var i=0;i<object1.entry.length;i++){
delete object1.entry[i]._id;
delete object1.entry[i].__v;
object1.entry[i].fullname = array1[i];
}
console.log(object);
}
关于Javascript 如何添加和删除 2 层深度的 JSON 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46598589/