使用 Jackson 删除数组

Remove an array with Jackson

我正在尝试使用 Jackson 从 JSON 文件中删除一个数组。这是我的 JSON 文件的结构:

[  
   {  
      "Lorem Ipsum ":3,
      "Lorem Ipsum ":14.2,
      "Lorem Ipsum ":5.8
   },
   {  
      "thingToRemove":"stuff"
   }
]

这是我试过的方法,但没有效果:

for (JsonNode personNode : rootNode) {
  if (personNode instanceof ObjectNode) {
     ObjectNode object = (ObjectNode) personNode;
     object.remove("thingToRemove");
  }
}

解决方案:

添加上面写的代码如下指令:

jsonFile = rootNode.toString();

您正在读取内存中文件的内容并使用 Jackson 反序列化为 JsonNode 数据结构。这个数据结构在内存中。删除元素后,您需要将其写回磁盘(文件)。