Как десериализовать объект JSON из HttpResponse, используя аннотации Джексона? - PullRequest
23 голосов
/ 05 августа 2011

Я использую классы Apache http для вызова веб-службы, которая возвращает объект JSON в теле ответа.У меня есть java-аннотированный класс Джексона, сопоставленный с объектом JSON.Я хочу сделать что-то это, но Google не нашел правильный шаблон.

    String url = hostName + uri;
    HttpGet httpGet = new HttpGet(url);
    HttpResponse response = httpclient.execute(httpGet);
    MyObject myObject = (MyObject)response.getEntity().getContent();

1 Ответ

48 голосов
/ 05 августа 2011

Вы должны использовать ObjectMapper:

MyObject myObject = objectMapper.readValue(response.getEntity().getContent(), MyObject.class);

(Экземпляр сопоставителя объектов можно использовать повторно, поэтому нет необходимости создавать новый для каждой десериализации)

...