无法使用GSON转换为java对象
我有以下JSON,我需要将其转换为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
[{
"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);