web-dev-qa-db-fra.com

Comment désérialiser un objet JSON de HttpResponse en utilisant des annotations Jackson?

J'utilise les classes Apache http pour appeler un service Web qui renvoie un objet JSON dans le corps de la réponse. J'ai une classe Jackson annotée Java mappée à l'objet JSON. Je veux faire quelque chose comme ça, mais google n'a pas trouvé le passe-partout correct.

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

Vous devez utiliser le ObjectMapper :

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

(Une instance de mappeur d'objets peut être réutilisée, donc pas besoin d'en créer une nouvelle pour chaque désérialisation)

50
Bozho