我想实现与此相反的方式: Gson serialize POJO with root value included?
我得到一个JSON字符串
{"RootDTO":{"classField_01":"value"}}
并希望将其反序列化为
class RootDTO {
String classField_01;
//nice getter and setter are included
}
我知道如何设置参数,以便在序列化中将根元素包含在JSON字符串中。 但是现在如何反序化呢?像地狱一样搜索但无法找到合适的答案。
感谢您的任何想法!
答案 0 :(得分:0)
制作RootDTO.java
import com.google.gson.annotations.SerializedName;
public class RootDTO {
@SerializedName("classField_01")
private String classField_01;
public String getClassField_01() {
return classField_01;
}
public void setClassField_01(String classField_01) {
this.classField_01 = classField_01;
}
}
制作Response.java
import com.google.gson.annotations.SerializedName;
public class Response {
@SerializedName("RootDTO")
private RootDTO rootDTO;
public RootDTO getRootDTO() {
return rootDTO;
}
public void setRootDTO(RootDTO rootDTO) {
this.rootDTO = rootDTO;
}
}
测试此代码以生成您的json数据
import com.google.gson.Gson;
public class TestOne {
public static void main(String[] args) {
RootDTO dto = new RootDTO();
dto.setClassField_01("value");
Response response = new Response();
response.setRootDTO(dto);
String result = (new Gson()).toJson(response);
System.out.println(""+result);
}
}
使用此代码生成的输出
{"RootDTO":{"classField_01":"value"}}