使用gson时为空json文件

tvmytwxo  于 2021-08-25  发布在  Java
关注(0)|答案(1)|浏览(395)

当我运行这段代码时,文件被创建,但它是空的,尽管输出看起来还可以

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
0vvn1miw

0vvn1miw1#

看这个问题。你需要关门 FileWriter (如果目前无法关闭,则冲洗)。就像:

FileWriter fw = new FileWriter("test.json");
gson.toJson(tj, fw);
fw.close();

或者更好地使用try/resources:

// Does auto close
try(FileWriter fw = new FileWriter("test.json")) {
    gson.toJson(tj, fw);            
}

相关问题