Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.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 为什么在将json文件读入对象后会得到NPE?_Java_Json_Gson - Fatal编程技术网

Java 为什么在将json文件读入对象后会得到NPE?

Java 为什么在将json文件读入对象后会得到NPE?,java,json,gson,Java,Json,Gson,我试图将json文件中的数据读取到我的家族类中。 当我尝试访问数据时,我得到一个NPE Gson gson = new Gson(); try (Reader reader = new FileReader("family.json")) { Family family = gson.fromJson(reader, Family.class); System.out.println(family.toString()); } catch (I

我试图将json文件中的数据读取到我的家族类中。 当我尝试访问数据时,我得到一个NPE

Gson gson = new Gson();

    try (Reader reader = new FileReader("family.json")) {

        Family family = gson.fromJson(reader, Family.class);
        System.out.println(family.toString());
    } catch (IOException e) {
        e.printStackTrace();
    }
家庭阶级

public class Family {
List<Person> people;
json文件

{ "members" : [
{"firstname":"asdf", "lastname":"asdf"}, 
{"firstname":"qwer", "lastname":"qwer"}, 
{"firstname":"fghj", "lastname":"fghj"}
]
}


任何帮助/提示都将不胜感激

您将获得NPE,因为json文件包含成员列表,并且映射了
家庭
类包含“人员”列表

将人员列表更改为家庭类中的成员

List<Person> members;
列出成员;

希望能有所帮助。

您得到了NPE,因为json文件有成员列表,并且映射了
家庭
类有“人”列表

将人员列表更改为家庭类中的成员

List<Person> members;
列出成员;

希望有帮助。

gson怎么知道JSON中的
成员
数组必须填充Java类中的
人员
列表?如果您不发布相关代码和异常的堆栈跟踪,我们怎么知道NPE来自哪里?gson怎么知道JSON中的
成员
数组必须填充Java类中的
人员
列表?如果不发布相关代码和异常的堆栈跟踪,我们怎么知道NPE来自哪里?