java - 使用 gson 时的空 json 文件
问题描述
当我运行此代码时,文件被创建,但它是空的,虽然输出看起来不错
import java.io.IOException;
public class JasonTest {
public static void main(String[] args) throws IOException {
Gson gson = new GsonBuilder().setPrettyPrinting().create();
TestJson tj = new TestJson(13, "kuku");
gson.toJson(tj, new FileWriter("test.json"));
System.out.println(gson.toJson(tj));
}
}
输出:
{
"num": 13,
"text": "kuku"
}
Process finished with exit code 0
解决方案
看到这个问题。您需要关闭FileWriter
(如果目前还不能关闭,则刷新)。就像:
FileWriter fw = new FileWriter("test.json");
gson.toJson(tj, fw);
fw.close();
或更好的尝试/资源:
// Does auto close
try(FileWriter fw = new FileWriter("test.json")) {
gson.toJson(tj, fw);
}
推荐阅读
- python - Python pyqt5 我的组合框无法正常工作
- react-native - 在警报中可以将变量连接成消息字符串吗?
- unit-testing - 使用反射获取私有方法,以便将其传递给 Kotlin 中的高阶函数
- arrays - vb.net:列出变量而不是值
- python - 'int' 对象不能从数组中调用
- gradle - 我们可以使用 gradle 更改子模块的构建顺序吗?
- javascript - Next.js 正在采取两个完整的 F5 刷新操作来在静态页面上显示新内容,并使用“重新验证:1”?我期待一个
- r - 从 URL 读取图像的 R 函数
- python - 如何为 Django 表格内联添加不同的占位符
- vba - 基于 Outlook 模板,从 Word 菜单创建电子邮件