有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何从读取到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) 个答案