【问题标题】:How to map a JSON into POJO for rest Template in java?java - 如何在Java中将JSON映射到POJO for rest Template?
【发布时间】:2018-10-16 13:27:37
【问题描述】:

我有一个来自 Hubspot API 的 JSON 响应如下,我无法将其解析为 Java POJO 以与 RestTemplate 一起使用。 由于 Json 响应不是 json 数组的形式,我无法创建正确的 java 类。 有人可以帮忙吗?

收到的 JSON 响应如下:

{
  "1": {
    "vid": 1,
    "canonical-vid": 1,
    "portal-id": 5017510,
    "is-contact": true,
    "profile-token": "AO_T-mOzMc0AQx3P50QBw3qJ09A30BWfeQu89iOhW5ADWb6-uIT7m37lYwSTk7ObLEYwwnpxGNM1x9rkivaT-abeu6MegOWO31EUpZ3b56hfFti61ewcGQvC-XocjM2fekCOtK5oyM1C",
    "profile-url": "https://app.hubspot.com/contacts/5017510/lists/public/contact/_AO_T-mOzMc0AQx3P50QBw3qJ09A30BWfeQu89iOhW5ADWb6-uIT7m37lYwSTk7ObLEYwwnpxGNM1x9rkivaT-abeu6MegOWO31EUpZ3b56hfFti61ewcGQvC-XocjM2fekCOtK5oyM1C/",
    "properties": {
      "firstname": {
        "value": "Cool"
      },
      "city": {
        "value": "Cambridge"
      },
      "createdate": {
        "value": "1539332326199"
      },
      "company": {
        "value": "HubSpot"
      },
      "state": {
        "value": "MA"
      },
      "email": {
        "value": "coolrobot@hubspot.com"
      },
      "website": {
        "value": "http://www.HubSpot.com"
      },
      "jobtitle": {
        "value": "Robot"
      },
      "lastmodifieddate": {
        "value": "1539332330206"
      },
      "lastname": {
        "value": "Robot (Sample Contact)"
      }
    }
  },
  "51": {
    "vid": 51,
    "canonical-vid": 51,
    "portal-id": 5017510,
    "is-contact": true,
    "profile-token": "AO_T-mNsLUnhG0QdyfV6D_JZhoqldgC_jYOZswkSrsgRW1uvUZpajXSjd-83OtQEdptpio0VAgtGD3_qIOe_4vnijJ8_q6traOskjw5A48d1RhghdFuqiDpgz7pRcuzTrMjsvWF5Oat3",
    "profile-url": "https://app.hubspot.com/contacts/5017510/lists/public/contact/_AO_T-mNsLUnhG0QdyfV6D_JZhoqldgC_jYOZswkSrsgRW1uvUZpajXSjd-83OtQEdptpio0VAgtGD3_qIOe_4vnijJ8_q6traOskjw5A48d1RhghdFuqiDpgz7pRcuzTrMjsvWF5Oat3/",
    "properties": {
      "firstname": {
        "value": "Brian"
      },
      "city": {
        "value": "Cambridge"
      },
      "createdate": {
        "value": "1539332326434"
      },
      "company": {
        "value": "HubSpot"
      },
      "state": {
        "value": "MA"
      },
      "email": {
        "value": "bh@hubspot.com"
      },
      "website": {
        "value": "http://www.HubSpot.com"
      },
      "jobtitle": {
        "value": "CEO"
      },
      "lastmodifieddate": {
        "value": "1539332334158"
      },
      "lastname": {
        "value": "Halligan (Sample Contact)"
      }
    }
  }
}

【问题讨论】:

标签: java json resttemplate hubspot


【解决方案1】:

查看此链接,http://www.jsonschema2pojo.org/ 在其中您传递 JSON,它会为您安装 POJO,但您想要。

我用你的 JSON 测试并完美生成。

【讨论】:

    【解决方案2】:

    您可以使用 Jackson 将 JSON 响应转换为 POJO 类。 示例代码:

    ObjectMapper mapper = new ObjectMapper();
    POJOClass pojoclassObj = mapper.readValue(jsonResponse, POJOClass.class);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-24
      • 2020-03-19
      • 1970-01-01
      • 2017-01-31
      • 1970-01-01
      • 2019-11-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多