我选择这个 JSON 结构来存储一些数据,因为我认为通过它的键引用每个对象会很容易,但我似乎无法通过键正确地删除一个元素。
JSON 对象:
[{
"a74bb26c-c23f-e711-80da-0050568f4ab2": {
"VersionCode": "0ODD6109",
"VersionQualifier": "",
"ProductID": "WRAP",
}
}, {
"a74fff6c-c23f-e711-80da-0050568f4ab2": {
"VersionCode": "0ODD6109",
"VersionQualifier": "",
"ProductID": "WRAP",
}
}]
什么时候
key="a74fff6c-c23f-e711-80da-0050568f4ab2"
和
dataObj = {
"VersionCode": "0ODD6109",
"VersionQualifier": "",
"ProductID": "WRAP",
}
我可以使用以下方式轻松添加项目:
dataObject = an object with properties
newItem = {}
newItem[key] = dataObj
myJsonObj.push(newItem).
当我将键作为变量时,如何删除项目?
这没有用:
delete myJsonObj[key]
这也没有用:
var index = myJsonObj.indexOf(node, 0);
if (index > -1) {
myJsonObj.splice(index, 1);
}
最佳答案
你的 json
格式错误。您应该删除 ProductID:"WRAP", <--- this comma
之后的逗号.这里有效json
:
[{
"a74bb26c-c23f-e711-80da-0050568f4ab2": {
"VersionCode": "0ODD6109",
"VersionQualifier": "",
"ProductID": "WRAP"
}
}, {
"a74fff6c-c23f-e711-80da-0050568f4ab2": {
"VersionCode": "0ODD6109",
"VersionQualifier": "",
"ProductID": "WRAP"
}
}]
删除一个元素。只需使用:JSONArray = JSONArray.filter(obj => !obj[keyToBeFilteredOut]);
关于javascript - 如何通过键引用从 JSON 对象中删除元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48465207/