Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从读取到json文件并创建java类_Java_Json_Gson - Fatal编程技术网

如何从读取到json文件并创建java类

如何从读取到json文件并创建java类,java,json,gson,Java,Json,Gson,我的问题似乎是我可以将对象保存为json,但我无法将json转换为Java,我的代码是: public类WebCrawlerDAOJSon实现WebCrawlerDAO{ 私有静态最终字符串fileName=“web.json”; 私有字符串jsonInString; 公共WebCrawlerDAOJSon(){ jsonInString=“”; } @凌驾 公共作废保存(WebCrawler WebCrawler){ FileWriter=null; 试一试{ Gson Gson=new Gs

我的问题似乎是我可以将对象保存为json,但我无法将json转换为Java,我的代码是:

public类WebCrawlerDAOJSon实现WebCrawlerDAO{
私有静态最终字符串fileName=“web.json”;
私有字符串jsonInString;
公共WebCrawlerDAOJSon(){
jsonInString=“”;
}
@凌驾
公共作废保存(WebCrawler WebCrawler){
FileWriter=null;
试一试{
Gson Gson=new GsonBuilder().setPrettyPrinting().create();
writer=新文件编写器(文件名);
toJson(webcrawler,作家);
jsonInString=gson.toJson(webcrawler);
System.out.println(jsonInString);
writer.flush();
writer.close();
}捕获(IOEX异常){
Logger.getLogger(WebCrawlerDAOJSon.class.getName()).log(Level.SEVERE,null,ex);
}
}
@凌驾
公共WebCrawler加载(){
试一试{
Gson Gson=new GsonBuilder().setPrettyPrinting().create();
Reader br=新文件读取器(文件名);
WebCrawler-web=gson.fromJson(br,WebCrawler.class);
System.out.println(web.toString());
返回网页;
}捕获(FileNotFoundException ex){
Logger.getLogger(WebCrawlerDAOJSon.class.getName()).log(Level.SEVERE,null,ex);
}
返回新的WebCrawler();
}
}
但当我试图保存它时,它会给我以下错误:

“应为BEGIN_对象,但在第4行第8列路径处为字符串 $.digraph.vertices。”(WebCrawler web=gson.fromJson(br,WebCrawler.class))


如果我保存它,并以同样的方式读取它,为什么它不工作?

您使用的是什么版本的java?@Dinnerspy JDK 1.8您的意思是从文件加载它时出现错误?
WebCrawler
类是什么样子的?WebCrawler是一个带有有向图和数组的类,可以显示
WebCrawler
类以及
JSON
文件的样子?