在實際應用中,我們常常需要向已有的json文件中追加新數據,而不是覆蓋原有的數據。這時候,我們就需要使用Jackson庫來實現json文件的追加。
//1. 創建ObjectMapper對象 ObjectMapper objectMapper = new ObjectMapper(); //2. 讀取已有的json文件中的數據 JsonNode rootNode = objectMapper.readTree(new File("data.json")); //3. 將新數據轉換為JsonNode對象 JsonNode newNode = objectMapper.convertValue(newData, JsonNode.class); //4. 將新節點添加到根節點中 ((ArrayNode) rootNode).add(newNode); //5. 將更新后的數據重新寫入文件 objectMapper.writeValue(new File("data.json"), rootNode);
在上述代碼中,我們首先創建了一個ObjectMapper對象,并使用它來讀取已有的json文件中的數據。接著,我們將要追加的新數據轉換為JsonNode對象,并將其添加到根節點中。最后,我們再次使用ObjectMapper對象將更新后的數據寫入文件中。
需要注意的是,我們在第四步中將根節點強制轉換為ArrayNode類型,這是因為我們假設要追加的數據是一個數組。如果要向對象中追加數據,需要將根節點轉換為ObjectNode類型。