杰克逊\ GSON - Pojo到JSON,反之亦然。文件\序列化是强制性的吗?

时间:2013-05-12 18:20:21

标签: java json file jackson gson

我需要一个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..

当我编写新代码时,有两件事吓到我了:

  1. I \ O(特别是HD)
  2. 序列化
  3. 我尽可能地避免这两种情况。

    有没有其他方法可以做到这一点?

1 个答案:

答案 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,这很清楚也很简短,一旦你读完它就会更好地理解一切......