我正在尝试将 json 数据写入 json 文件。
代码执行后不会抛出任何错误,但 .json 文件为空。
请找到下面的代码和帮助
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.ArrayList;
import java.util.List;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonObject;
public class Test {
public static void main(String[] args) throws JSONException {
try {
List<String> foo = new ArrayList<String>();
foo.add("1");
foo.add("2");
foo.add("3");
System.out.println("values :: "+foo);
Writer writer = new FileWriter("operatorList.json");
Gson gson = new GsonBuilder().create();
gson.toJson(foo, writer);
}
catch(Exception e) {
e.printStackTrace();
}
}
}
最佳答案
你的方法是正确的,只需flush()和close()作者,就像这样:
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.ArrayList;
import java.util.List;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonObject;
public class Test {
public static void main(String[] args) throws JSONException {
try{
List<String> foo = new ArrayList<String>();
foo.add("1");
foo.add("2");
foo.add("3");
System.out.println("values :: "+foo);
Writer writer = new FileWriter("operatorList.json");
Gson gson = new GsonBuilder().create();
gson.toJson(foo, writer);
writer.flush(); //flush data to file <---
writer.close(); //close write <---
}catch(Exception e){
e.printStackTrace();
}
}
关于java - 编写器无法使用 Gson 处理 json 文件,代码执行后 json 文件为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45995067/