我需要一个JSON - > Pojo - > JSON转换。
我研究了主流图书馆Jackson和GSON,
显然两者都使用:
//write converted json data to a file named "file.json"
FileWriter writer = new FileWriter("c:\\file.json");
or In\Output Streams..
当我编写新代码时,有两件事吓到我了:
我尽可能地避免这两种情况。
有没有其他方法可以做到这一点?
答案 0 :(得分:5)
这些库不需要使用文件来操作,所以回答你的问题: NO,文件序列化不是强制性的。事实上,它不仅不是强制性的,而且每次需要序列化/反序列化JSON响应时,从文件中读取/写入文件都会非常麻烦!
在您的示例中,他们使用File
来编写和读取JSON,以便模仿通常的场景,例如,可能包括从/向Web服务传递数据,而不是来自/到File
...
事实上,例如在Gson中,使用简单的 Pojo 进行序列化/反序列化非常简单,就像这样:
Pojo pojo = new Pojo();
Gson gson = new Gson();
String pojoJSON = gson.toJson(pojo);
Gson gson = new Gson();
Pojo pojo = gson.fromJson(pojoJSON, Pojo.class);
我建议你看一下Gson documentation,这很清楚也很简短,一旦你读完它就会更好地理解一切......