【发布时间】:2019-01-30 19:54:04
【问题描述】:
我有一个类,我们称它为 Cls,其中包含一些值。当我使用用 GsonBuilder.setPrettyPrinting().create() 声明的 Gson 实例并使用它来序列化 Cls 对象并将生成的 JSON 字符串打印到控制台时,我得到了很好的格式,如下所示:
{
"foo":"bar",
"foo2":["b1","b2"],
"foo3":12
}
这一切都很好,但是当我创建一个 JsonWriter(从具有绝对路径的 FileWriter)并将 Gson 实例的 toJson(Object, Class, JsonWriter) 方法与 Cls 一起使用时,生成的文件不会很好地格式化。相反,它看起来像这样:
{"foo":"bar","foo2":["b1","b2"],"foo3":12}
这破坏了漂亮打印的全部意义。为什么会这样,我怎样才能让它停止?
【问题讨论】:
-
用记事本++打开文件。如果您使用的是普通记事本,它可能无法正确显示。
-
另外,我从不使用作家。我首先将漂亮打印保存到字符串并使用
Files.write(path, prettyPrintString.getBytes()); -
@Sedrick 我正在使用记事本++。它仍然可以。