gpt4 book ai didi

javascript - 如何删除 json 响应中的特定键

转载 作者:行者123 更新时间:2023-11-30 19:28:50 25 4
gpt4 key购买 nike

例如,我从 postman 那里收到一个 JSON 响应并将其存储在一个变量中。如何从此响应中删除特定键?

在我的示例中,我想要一个删除 head_out_timestam 的解决方案 - 甚至如果对象树的确切层次结构未知

我在 javaScript 中需要这个,谢谢。

{
"soapenv:Envelope": {
"$": {
"xmlns:soapenv": "http://schemas.xmlsoap.org/soap/envelope/"
},
"soapenv:Header": {
"f:Routing": {
"f:Receiver": {
"f:Application": "Something"
}
}
},
"soapenv:Body": {
"Something": {
"something_output": {
"service_header_out": {
"head_out_servercode": "Some",
"head_out_timestam": "2019-06-18-11.32.13.570127",
}
}
}
}
}

最佳答案

您可以对对象中的键进行递归搜索,然后删除找到的键。

检查以下解决方案:

var json = {
"soapenv:Envelope": {
"$": {
"xmlns:soapenv": "http://schemas.xmlsoap.org/soap/envelope/"
},
"soapenv:Header": {
"f:Routing": {
"f:Receiver": {
"f:Application": "Something"
}
}
},
"soapenv:Body": {
"Something": {
"something_output": {
"service_header_out": {
"head_out_servercode": "Some",
"head_out_timestam": "2019-06-18-11.32.13.570127",
}
}
}
}
}
}

var removeKey = (json, key) => {
Object.keys(json).forEach((item) => {
if (item !== key) {
// make sure json[item] is an object
if (typeof json[item] === 'object') {
removeKey(json[item], key)
}
} else {
delete json[item];
}
})
return json;
}
console.log(removeKey(json, 'head_out_timestam'))

注意:您可以使用Object.keys(obj).forEachfor ... in

关于javascript - 如何删除 json 响应中的特定键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56646411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com