我正在使用restTemplate对一个servlet进行rquest,该servlet返回一个json中对象的非常简单的表示。
{
"id":"SomeID"
"name":"SomeName"
}
我有一个带有这两个字段的DTO以及相应的setter和getter。 我想知道的是如何使用json响应创建对象 无需“解析”响应。
答案 0 :(得分:7)
就个人而言,我会推荐杰克逊。它相当轻巧,速度非常快,只需要很少的配置。以下是反序列化的示例:
@XmlRootElement
public class MyBean {
private String id;
private String name;
public MyBean() {
super();
}
// Getters/Setters
}
String json = "...";
MyBean bean = new ObjectMapper().readValue(json, MyBean.class);
答案 1 :(得分:4)
以下是使用Google Gson的示例。
public class MyObject {
private String id;
private String name;
// Getters
public String getId() { return id; }
public String getName() { return name; }
}
要访问它:
MyObject obj = new Gson().fromJson(jsonString, MyObject.class);
System.out.println("ID: " +obj.getId());
System.out.println("Name: " +obj.getName());
就最佳方式而言,这是主观的。这是一种方式,您可以完成所需的工作。
答案 2 :(得分:2)