5

我正在使用 restTemplate 向 servlet 发出请求,该 servlet 返回 json 中对象的非常简单的表示。

{
     "id":"SomeID"
     "name":"SomeName"
}

我有一个包含这两个字段以及相应的设置器和获取器的 DTO。我想知道的是如何使用该 json 响应创建对象,而无需“解析”响应。

4

3 回答 3

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);
于 2012-01-30T18:15:48.377 回答
5

这是一个使用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());

至于最好的方法,那是主观的。这是您可以完成所需的一种方式。

于 2012-01-30T18:31:34.530 回答
2

http://code.google.com/p/json-simple/很好而且很轻量级

于 2012-01-30T18:09:24.357 回答