嗨,有人可以帮忙从嵌套json数组中删除元素
{
"_id": "ProductionData1",
"_rev": "1-b4a160f5e13fab074d2fcc359e820d3f",
"topic": "",
"payload": {
"plant Operating Time": "600",
"plant stop": "10"
}
}
假设我要删除对象“ _id”:“ ProductionData1”“ _ rev”:“ 1-b4a160f5e13fab074d2fcc359e820d3f”“ topic”:“”,这应该让我留下以下内容:
{
"payload": {
"plant Operating Time": "600",
"plant stop": "10"
}
}
答案 0 :(得分:0)
change节点将允许您从msg
对象中删除键值对。
在信息侧栏中:
设置,更改,删除或移动消息,流上下文或消息的属性 全球背景。
节点可以指定将依次应用的多个规则。
可用的操作是:
- 设置-设置属性。该值可以是各种不同的类型,也可以从现有的消息或上下文属性中获取。
- 更改-搜索和替换属性的一部分。如果启用了正则表达式,则replace with属性可以包含捕获 组,例如$ 1。如果存在,替换将仅更改类型 完全匹配。
- 删除-删除属性。
- 移动-移动或重命名属性。
答案 1 :(得分:0)
尝试通过此功能运行JSON:
const jsonToTrim = {
"_id": "ProductionData1",
"_rev": "1-b4a160f5e13fab074d2fcc359e820d3f",
"topic": "",
"payload": {
"plant Operating Time": "600",
"plant stop": "0"
}
};
function trimJSON(json, propsToRemove) {
propsToRemove.forEach((propName) => {
delete json[propName];
});
}
// call the function
trimJSON(jsonToTrim, ['_id', '_rev', 'topic']);
//inspect result
console.log(jsonToTrim);
这是实际上从对象中删除属性的部分:
delete json[propName];
您可以阅读有关删除here的更多信息。
就json[propName]
而言,这是编写json.propName的另一种方法,它使我们能够使道具名称动态地(从数组中)传入。
答案 2 :(得分:-1)
如果您使用的是Angular或Node
在Node或Angular中处理响应,并仅尝试使用对象中的特定变量,而不要尝试这样做。
let json ={
"_id": "ProductionData1",
"_rev": "1-b4a160f5e13fab074d2fcc359e820d3f",
"topic": "",
"payload": {
"plant Operating Time": "600",
"plant stop": "0"
}
删除元素的语法是角是
delete this.json['_rev']
delete this.json['_id']
delete this.json['topic']
删除此元素后的结果将得到
{
"payload": {
"plant Operating Time": "600",
"plant stop": "10"
}
示例DEMO