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();
}
}
但是当我尝试保存它时,它给了我以下错误:
“预期为 BEGIN_OBJECT,但在第 4 行第 8 列路径 $.digraph.vertices 处为 STRING。” (WebCrawler web = gson.fromJson(br, WebCrawler.class))
如果我保存它并且我以相同的方式阅读它,为什么它不起作用?
解决方案
推荐阅读
- python - 为什么 Python 偶尔会用相同的地址初始化空可变对象?
- php - 教义如何合并不完整的数据
- excel - VBA中最后一行减1
- angular - 使用 Typescript 和 Angular 7 初始化嵌套的 json
- jquery - 如何使用 jquery 在表中添加 tr 和 rowspan
- python - OpenCV - 车道检测,黄色和白色车道
- ubuntu - 如何在file.txt中的最大值上划分每一行并将结果作为file.txt
- delphi - 何时引发异常?
- spring-boot - Spring Boot Elastic Search 连接问题
- python - 其他用户如何获得我正在开发的 slack 应用程序的令牌?