Лучший способ сопоставить JSON с объектом Java - PullRequest
3 голосов
/ 30 января 2012

Я использую restTemplate, чтобы сделать запрос к сервлету, который возвращает очень простое представление объекта в json.

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

И у меня есть DTO с этими 2 полями и соответствующими установщиками идобытчики.Я хотел бы знать, как создать объект, используя этот ответ json, не анализируя ответ.

Ответы [ 3 ]

8 голосов
/ 30 января 2012

Лично я бы порекомендовал Джексона.Это довольно легкий, очень быстрый и требует очень мало конфигурации.Вот пример десериализации:

@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);
4 голосов
/ 30 января 2012

Вот пример использования 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 голосов
/ 30 января 2012

http://code.google.com/p/json-simple/ хорошо и легко для этого

...