Javascript 循环JSON对象并移除特定子对象
我有一个json对象,我想从中删除具有键“errMsg”的子对象 我想要的结果是JSON应该只包含子元素,而子元素中没有“errorMsg” 我用的代码Javascript 循环JSON对象并移除特定子对象,javascript,arrays,json,Javascript,Arrays,Json,我有一个json对象,我想从中删除具有键“errMsg”的子对象 我想要的结果是JSON应该只包含子元素,而子元素中没有“errorMsg” 我用的代码 jsonKeyInfo = stringToJson(form.response); for(var i in jsonKeyInfo.info){ if(jsonKeyInfo.info[i].errorMsg){ errMsg = jsonKeyInfo.info[i].errorM
jsonKeyInfo = stringToJson(form.response);
for(var i in jsonKeyInfo.info){
if(jsonKeyInfo.info[i].errorMsg){
errMsg = jsonKeyInfo.info[i].errorMsg;
jsonKeyInfo.info.splice(i,1);
err++;
// delete jsonKeyInfo.info[i];
}
}
对我不起作用。试试这个,它会过滤你的数组,并最终生成你需要的数据
var jsonData = {"info":[{"errorMsg":"Unable to find Vendor ","c2v":"some text"},{"errorMsg":"Unable to find Vendor ","c2v":"Some text"},{"errorMsg":"Unable to find Vendor","c2v":" Some text"},{"id":"1038578481","ven":"DEMOMA","c2v":" Some text"}]};
var result = jsonData.info.filter(i=>!i.errorMsg)
console.log(result)
要将其重新分配使用
jsonData.info=结果
在您的控制台中尝试以下操作:)尽情享受
obj={“info”:[
{“errorMsg”:“找不到供应商”,“c2v”:“某些文本”},
{“errorMsg”:“找不到供应商”,“c2v”:“某些文本”},
{“errorMsg”:“找不到供应商”,“c2v”:“某些文本”},
{“id”:“1038578481”,“ven”:“DEMOMA”,“c2v”:“某些文本”}
]}
var=false;
obj.info=obj.info.filter((el)=>!(el.hasOwnProperty(“errorMsg”)&&(changed=true));
控制台日志(obj);
控制台日志(“Obj.info已更改?”+已更改);
更改=错误;
obj2=[
{“id”:“1038578481”,“ven”:“DEMOMA”,“c2v”:“Some text”},
{“id”:“1038578481”,“ven”:“DEMOMA”,“c2v”:“某些文本”}
];
obj2.filter((el)=>!(el.hasOwnProperty(“errorMsg”)&&(changed=true));
console.log(“Obj2已更改?”+已更改)代码>回答得很好。我没有定义错误,你能确认这个符号是什么意思吗!i、 errorMsgthey被称为箭头函数,有关更多信息,请通过此链接查看i未定义错误?你能告诉我错误在哪一部分吗?但是我想要像{“info”:[{“id”:“1038578481”,“ven”:“DEMOMA”,“c2v”:“Some text”}]}这样的输出,然后将结果分配回info
属性(更新的代码)。如果结果发生变化,是否可以设置一个标志以及“True”。
jsonKeyInfo = stringToJson(form.response);
for(var i in jsonKeyInfo.info){
if(jsonKeyInfo.info[i].errorMsg){
errMsg = jsonKeyInfo.info[i].errorMsg;
jsonKeyInfo.info.splice(i,1);
err++;
// delete jsonKeyInfo.info[i];
}
}
var jsonData = {"info":[{"errorMsg":"Unable to find Vendor ","c2v":"some text"},{"errorMsg":"Unable to find Vendor ","c2v":"Some text"},{"errorMsg":"Unable to find Vendor","c2v":" Some text"},{"id":"1038578481","ven":"DEMOMA","c2v":" Some text"}]};
var result = jsonData.info.filter(i=>!i.errorMsg)
console.log(result)