如何使用 Jackson 注释从 HttpResponse 反序列化 JSON 对象?

发布于 2024-11-28 06:22:38 字数 337 浏览 0 评论 0原文

我使用 Apache http 类来调用 Web 服务,该服务在响应正文中返回 JSON 对象。我有一个 Jackson 注释的 java 类映射到 JSON 对象。我想做一些事情,但谷歌还没有找到正确的样板。

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

I'm using the Apache http classes to call a web service that returns a JSON object in the response body. I have a Jackson annotated java class mapped to the JSON object. I want to do something this, but google hasn't turned up the correct boilerplate.

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

吹泡泡o 2024-12-05 06:22:38

您必须使用 ObjectMapper:(

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

对象映射器实例可以重复使用,因此无需为每次反序列化创建一个新的实例)

You have to use the ObjectMapper:

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

(An object mapper instance can be reused, so no need to create a new one for each deserialization)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文