Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java fromJson(JsonReader,type)返回null_Java_Json_Gson - Fatal编程技术网

Java fromJson(JsonReader,type)返回null

Java fromJson(JsonReader,type)返回null,java,json,gson,Java,Json,Gson,这是我的孔测试代码 Gson gson = new GsonBuilder().setPrettyPrinting().serializeNulls().create(); JsonWriter jsonWriter = null; try { jsonWriter = new JsonWriter( new OutputStreamWriter(new FileOutputStream(new File("D:/test.json

这是我的孔测试代码

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,为什么?

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

1。前面是什么意思?2.你试过自己调试吗?你试过什么?闻起来像是家庭作业。。。请参阅:如果读取器处于EOF,则fromJson返回null。文件是空的吗?我的英语不是很好,我的意思是var data2引用null,我尝试在没有帮助的情况下自己调试它,jsonReader不是空的,我尝试将Data.class替换为new TypeToken{}.getType,但它仍然不工作,最后文件不是空的,很抱歉我的英语不好。。