无法使用GSON转换为java对象

无法使用GSON转换为java对象,java,json,gson,Java,Json,Gson,我有以下JSON,我需要将其转换为Java对象 [{ "emp": { "name": "pavan" }, "dept": { "deptName": "cse" } }] 我正在尝试使用GSON框架将这个JSON转换为Java对象 public class Root { private Da

我有以下JSON,我需要将其转换为Java对象

[{
    "emp": {
        "name": "pavan"
    },
    "dept": {
        "deptName": "cse"
    }
}]
我正在尝试使用GSON框架将这个JSON转换为Java对象

public class Root {
    
    private Data data ;

    public Data getData() {
        return data;
    }

    public void setData(Data data) {
        this.data = data;
    }

}



public class Data {
    
    private Emp emp;

    private Dept dept;

    public void setEmp(Emp emp){
        this.emp = emp;
    }
    public Emp getEmp(){
        return this.emp;
    }
    public void setDept(Dept dept){
        this.dept = dept;
    }
    public Dept getDept(){
        return this.dept;
    }

}



public class Emp
{
    private String name;

    public void setName(String name){
        this.name = name;
    }
    public String getName(){
        return this.name;
    }
}


  public class Dept
{
    private String deptName;

    public void setDeptName(String deptName){
        this.deptName = deptName;
    }
    public String getDeptName(){
        return this.deptName;
    }
这是我的测试课

public class Test {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        String json = "[{\r\n" + 
                "   \"emp\": {\r\n" + 
                "       \"name\": \"pavan\"\r\n" + 
                "   },\r\n" + 
                "   \"dept\": {\r\n" + 
                "       \"deptName\": \"cse\"\r\n" + 
                "   }\r\n" + 
                "}]";
        
        Gson gson = new Gson();
        
        Root[] root = gson.fromJson(json, Root[].class);
        
        System.out.println(root[0].getData());
        

    }
我正在使用GSON将json转换为Java对象
当我执行getData时,我得到了null,有人能告诉我为什么没有进行转换吗?

根类是冗余的

改变

 Root[] root = gson.fromJson(json, Root[].class);


emp
字段的类型必须为
名称
字段(字符串类型),而
dept
字段的类型也必须为
deptName
字段。(在这个没有注释等的简单设置中)也没有数据字段,因此您可能需要执行
data[]root=gson.fromJson(json,data[].class)
 Data[] data= gson.fromJson(json, Data[].class);