我正在使用 restTemplate 向 servlet 发出请求,该 servlet 返回 json 中对象的非常简单的表示。
{
"id":"SomeID"
"name":"SomeName"
}
我有一个包含这两个字段以及相应的设置器和获取器的 DTO。我想知道的是如何使用该 json 响应创建对象,而无需“解析”响应。
我正在使用 restTemplate 向 servlet 发出请求,该 servlet 返回 json 中对象的非常简单的表示。
{
"id":"SomeID"
"name":"SomeName"
}
我有一个包含这两个字段以及相应的设置器和获取器的 DTO。我想知道的是如何使用该 json 响应创建对象,而无需“解析”响应。
我个人会推荐杰克逊。它相当轻巧,速度非常快,并且只需要很少的配置。下面是一个反序列化的例子:
@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);
这是一个使用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());
至于最好的方法,那是主观的。这是您可以完成所需的一种方式。