Java是一種基于對象的高級編程語言,很多應用和系統都用到了它。與此同時,JSON(JavaScript 對象表示法)作為一種輕量級的數據交換格式,也得到了廣泛的應用。Java對JSON的支持非常完備,本文將介紹如何通過Java的各種工具實現JSON文件的增刪改查。
導入相關庫
import java.io.File; import java.io.IOException; import org.codehaus.jackson.JsonGenerationException; import org.codehaus.jackson.map.JsonMappingException; import org.codehaus.jackson.map.ObjectMapper;
首先需要導入Jackson庫,以便后續的JSON數據處理。
創建Json數據
ObjectMapper objectMapper = new ObjectMapper(); JsonNode rootNode = objectMapper.createObjectNode(); ((ObjectNode) rootNode).put("firstName", "張"); ((ObjectNode) rootNode).put("lastName", "三"); ((ObjectNode) rootNode).put("gender", "男"); ((ObjectNode) rootNode).put("age", 25);
使用ObjectMapper創建JSON對象,并使用ObjectNode類對JSON對象進行操作,在這個例子中加入了4個屬性。
寫入JSON文件
File file = new File("data.json"); if (!file.exists()) { file.createNewFile(); } ObjectMapper objectMapper = new ObjectMapper(); objectMapper.writeValue(file, rootNode);
創建File對象,判斷文件是否存在,若不存在則創建。最后使用ObjectMapper將JSON根節點寫入文件中。
讀取JSON文件
File file = new File("data.json"); ObjectMapper objectMapper = new ObjectMapper(); JsonNode rootNode = objectMapper.readTree(file);
同樣是使用ObjectMapper,但是這里使用了readTree方法,讀取data.json文件并將其轉換為JsonNode對象。
更新JSON數據
ObjectMapper objectMapper = new ObjectMapper(); JsonNode rootNode = objectMapper.readTree(file); ((ObjectNode) rootNode).put("age", 27); ((ObjectNode) rootNode).put("address", "北京市朝陽區"); objectMapper.writeValue(file, rootNode);
同樣是使用ObjectNode類對JSON對象進行操作,修改了age屬性的值,并增加了一個address屬性,最后將修改后的JSON數據寫入文件。
刪除JSON數據
ObjectMapper objectMapper = new ObjectMapper(); JsonNode rootNode = objectMapper.readTree(file); ((ObjectNode) rootNode).remove("age"); ((ObjectNode) rootNode).remove("address"); objectMapper.writeValue(file, rootNode);
使用ObjectNode類的remove方法,刪除了age和address屬性,最后將修改后的JSON數據寫入文件中。
下一篇vue新手書籍