fromjson(jsonreader,type)返回null

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

这是我的孔测试代码

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不是null,当涉及到data2时,它在控制面板中显示null

Data data2 = gson1.fromJson(jsonReader, new TypeToken<Data>() {
            }.getType());
            System.out.println(data2);
            for (String string : data2.getSqlList()) {
                System.out.println(string);
            }
        }

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

0qx6xfy6

0qx6xfy61#

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

相关问题