将JSON字符串反序列化为Java POJO列表

时间:2018-06-17 21:33:50

标签: java json rest api serialization

我将JSON字符串作为REST API的请求主体。我不喜欢这种JSON结构,但我对此没有任何控制权。发布此消息的是其他人,我必须创建一个REST API(POST方法)并在我的API中使用此消息。所以我必须在REST控制器中将其反序列化为Java对象。它有列表对象列表。我用rapidxml尝试了几种方法,但是我没有成功。

{
  "messages": [
    [
      {
        "message": "message1_a",
        "info": {
          "timestamp": "2521013204"
        }
      },
      {
        "message": "message1_b",
        "info": [
          {
            "message": "message1_c",
            "info": {
              "id": "asfa-14fs-df"
            }
          },
          {
            "message": "message1_d",
            "info": {
              "reason": "msg_reason",
            }
          }
        ]
      }
    ]
  ]
}

有人可以帮我看看我的Java POJO应该是什么样的吗?

1 个答案:

答案 0 :(得分:0)

这似乎是一个消息数组。

在Java中,您可以使用Spring将Json转换为Object。

   String url = "http://your/json/url";
   ResponseEntity<Message[]> responseEntity = new RestTemplate().getForEntity(url, Message[].class);

确保您的实体具有Json的所有属性。

文档:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/client/RestTemplate.html

相关问题