Gson序列化:我可以从JSON字符串中执行此操作还是需要使用JsonWriter?

时间:2013-04-13 15:09:15

标签: java json serialization gson

我正在使用Google Gson库来处理JSON字符串。我需要将这些字符串保存在文件中(保存/加载操作)。

特别是当我有一个类MyClass时,它包含一组参数(整数,字符串,基元类型数组等),例如

public class MyClass{
 int val;
 int[]vals;
 String text;

 public MyClass(){}
}

我可以在JSON字符串中转换MyClass对象,如下所示:

MyClass obj = new MyClass();
//obj->set...
Gson gson = new Gson();
String json = gson.toJson(obj); 

现在!我应该像往常一样创建String json并将其保存在文件中,还是应该使用JsonWriter类?

1 个答案:

答案 0 :(得分:4)

你可以做到这两点。

然而,使用JsonWriter将提供更好的性能:输出可以流式传输到文件中,而不是在将整个输出写入文件之前将其映射到内存中。

使用BufferedWriter

BufferedWriter bw = new BufferedWriter(new FileWriter(outputFile));
Gson gson = new Gson();
gson.toJson(obj, new JsonWriter(bw)); // Write to file using BufferedWriter