fromjson(jsonreader,type)返回null

v440hwme  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(352)

这是我的孔测试代码

  1. Gson gson = new GsonBuilder().setPrettyPrinting().serializeNulls().create();
  2. JsonWriter jsonWriter = null;
  3. try {
  4. jsonWriter = new JsonWriter(
  5. new OutputStreamWriter(new FileOutputStream(new File("D:/test.json")), "UTF-8"));
  6. List<String> stringList = new ArrayList<String>();
  7. stringList.add("aaaaaaaaaaaaaaaaaaaaaa");
  8. stringList.add("bbbbbbbbbbbbbbbbbbbbbbbb");
  9. stringList.add("ccccccccccccccccccccccdd");
  10. Data data = new Data();
  11. data.setFucName("addXkg");
  12. data.setSqlList(stringList);
  13. gson.toJson(data, Data.class, jsonWriter);
  14. Gson gson1 = new Gson();
  15. File file = new File("D:/test.json");
  16. if (file.exists()) {
  17. JsonReader jsonReader = new JsonReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));

//jsonreader不是null,当涉及到data2时,它在控制面板中显示null

  1. Data data2 = gson1.fromJson(jsonReader, new TypeToken<Data>() {
  2. }.getType());
  3. System.out.println(data2);
  4. for (String string : data2.getSqlList()) {
  5. System.out.println(string);
  6. }
  7. }

它在for()函数前面返回null,为什么?

0qx6xfy6

0qx6xfy61#

我发现哪里出错了,只要删除上面的代码 Gson gson1 = new Gson(); 而且效果很好。但有人能解释吗?为什么?

相关问题