我创建了一个Json文件,我想写java对象作为Array元素.我用杰克逊.
try{ String json; String phyPath = request.getSession().getServletContext().getRealPath("/"); String filepath = phyPath + "resources/" + "data.json"; File file = new File(filepath); if (!file.exists()) { System.out.println("pai nai"); file.createNewFile(); } json = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(story); Files.write(new File(filepath).toPath(), Arrays.asList(json), StandardOpenOption.APPEND); }
这不是我想要的.它创建数据
{ "storyTitle" : "ttt", "storyBody" : "tttt", "storyAuthor" : "tttt" } { "storyTitle" : "a", "storyBody" : "a", "storyAuthor" : "a" }
我只需要创建一个Json数组,我在其中添加java对象,数据应该是这样的
[{ "storyTitle" : "ttt", "storyBody" : "tttt", "storyAuthor" : "tttt" } ,{ "storyTitle" : "a", "storyBody" : "a", "storyAuthor" : "a" }]
小智.. 17
Jackson提供了用于将JSON数据写入JSON文件的内置方法.你可以使用这些代码行
ObjectMapper mapper = new ObjectMapper(); ObjectWriter writer = mapper.writer(new DefaultPrettyPrinter()); writer.writeValue(new File("D:/cp/dataTwo.json"), jsonDataObject); //new file(path of your file)
并且jsonDataObject
是您要在文件中写入的实际对象(即对象或数组).
Jackson提供了用于将JSON数据写入JSON文件的内置方法.你可以使用这些代码行
ObjectMapper mapper = new ObjectMapper(); ObjectWriter writer = mapper.writer(new DefaultPrettyPrinter()); writer.writeValue(new File("D:/cp/dataTwo.json"), jsonDataObject); //new file(path of your file)
并且jsonDataObject
是您要在文件中写入的实际对象(即对象或数组).