如何删除JSON文件中的项目

时间:2016-08-04 23:49:06

标签: json node.js

您好我试图删除JSON文件中的对象,但它无法正常工作。我将值p设置为等于整个项目,其中包括值名称,日期和数字。当我使用删除从json文件中删除特定项目时,它不会被删除。我想知道你们中是否有人知道为什么。感谢。

这里是nodejs代码

[{"name":"John","date":"12/22/2016","number":"781314454"},{"name":"Joe","date":"09/15/2016","number":"7892834640"},{"name":"Mike","date":"08/25/2016","number":"6472329224"},{"name":"Mark","date":"08/06/2016","number":"7819231279"}]

以下是控制器的代码

{ name: 'Mark', date: '08/06/2016', number: '7819231279' }

[ { name: 'John', date: '12/22/2016', number: '781314454' },
  { name: 'Nikhilesh Singh',
    date: '09/15/2016',
    number: '7892834640' },
  { name: 'Mike', date: '08/25/2016', number: '6472329224' },
  { name: 'Mark', date: '08/06/2016', number: '7819231279' } ]

这是json文件

{ name: 'Mark', date: '08/06/2016', number: '7819231279' }

[ { name: 'John', date: '12/22/2016', number: '781314454' },
  { name: 'Nikhilesh Singh',
    date: '09/15/2016',
    number: '7892834640' },
  { name: 'Mike', date: '08/25/2016', number: '6472329224' } ]

这是控制台显示的内容。第一行是我想删除的内容,下面的行是项目数组。

File oldFile = new File("local file");
URL newFile = new URL("url file");
HttpURLConnection httpCon = (HttpURLConnection) newFile.openConnection();

if(oldFile.lastModified() < httpCon.getLastModified()){
   //do something
}

这就是我希望第一行中的项目从项目列表中删除的位置

base[""]

2 个答案:

答案 0 :(得分:2)

[EDITED]

delete运算符仅用于从对象中删除属性。您的config变量包含数组对象,因此delete根本不会执行您想要的操作。

您需要遍历config数组并使用splice之类的内容删除具有相同namedate和{{1}的数组项如请求中的值。

This related question可能会有所帮助。

答案 1 :(得分:1)

您只能使用delete删除单个属性(例如delete <attrName>)。如果要删除多个属性,可以使用lodash的omit

希望这有帮助。