如何从读取到json文件并创建java类
我的问题似乎是我可以将对象保存为json,但我无法将json转换为Java,我的代码是:
public class WebCrawlerDAOJSon implements WebCrawlerDAO{
private static final String fileName = "web.json";
private String jsonInString;
public WebCrawlerDAOJSon() {
jsonInString = "";
}
@Override
public void save(WebCrawler webcrawler) {
FileWriter writer = null;
try {
Gson gson = new GsonBuilder().setPrettyPrinting().create();
writer = new FileWriter(fileName);
gson.toJson(webcrawler, writer);
jsonInString = gson.toJson(webcrawler);
System.out.println(jsonInString);
writer.flush();
writer.close();
} catch (IOException ex) {
Logger.getLogger(WebCrawlerDAOJSon.class.getName()).log(Level.SEVERE, null, ex);
}
}
@Override
public WebCrawler load() {
try {
Gson gson = new GsonBuilder().setPrettyPrinting().create();
Reader br = new FileReader(fileName);
WebCrawler web = gson.fromJson(br, WebCrawler.class);
System.out.println(web.toString());
return web;
} catch (FileNotFoundException ex) {
Logger.getLogger(WebCrawlerDAOJSon.class.getName()).log(Level.SEVERE, null, ex);
}
return new WebCrawler();
}
}
但当我试图保存它时,它会给我以下错误:
"Expected BEGIN_OBJECT but was STRING at line 4 column 8 path $.digraph.vertices." (WebCrawler web = gson.fromJson(br, WebCrawler.class))
如果我保存它,并且我以同样的方式阅读它,为什么它不起作用
共 (0) 个答案