-2
这是我的孔的测试代码gson.fromJson(JsonReader,类型)返回null
Gson gson = new GsonBuilder().setPrettyPrinting().serializeNulls().create();
JsonWriter jsonWriter = null;
try {
jsonWriter = new JsonWriter(
new OutputStreamWriter(new FileOutputStream(new File("D:/test.json")), "UTF-8"));
List<String> stringList = new ArrayList<String>();
stringList.add("aaaaaaaaaaaaaaaaaaaaaa");
stringList.add("bbbbbbbbbbbbbbbbbbbbbbbb");
stringList.add("ccccccccccccccccccccccdd");
Data data = new Data();
data.setFucName("addXkg");
data.setSqlList(stringList);
gson.toJson(data, Data.class, jsonWriter);
Gson gson1 = new Gson();
File file = new File("D:/test.json");
if (file.exists()) {
JsonReader jsonReader = new JsonReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));
// jsonReader不为空,并且当涉及到DATA2它示出了控制面板空
Data data2 = gson1.fromJson(jsonReader, new TypeToken<Data>() {
}.getType());
System.out.println(data2);
for (String string : data2.getSqlList()) {
System.out.println(string);
}
}
并且它在for()函数前面返回null,为什么?
1.“前面的”是什么意思? 2.你有试图自己调试吗? – DevDio
你有什么尝试?闻起来像功课...见:https://stackoverflow.com/help/how-to-ask – Flummox
'fromJson()'如果阅读器在EOF返回null。该文件是否为空? –