简体   繁体   English

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

[英]Deserialize a JSON String into list of lists Java POJO

I get below JSON string as a request body for my REST API. 我将以下JSON字符串作为我的REST API的请求正文。 I don't like this JSON structure, but I don't have any control on this. 我不喜欢这种JSON结构,但是对此我没有任何控制权。 It's somebody else posting this message and I have to create a REST API (POST method) and consume this message in my API. 是其他人发布此消息,我必须创建一个REST API(POST方法)并在我的API中使用此消息。 So I have to deserialize this into Java objects in my REST controller. 因此,我必须在REST控制器中将其反序列化为Java对象。 It has list of lists objects. 它具有列表对象列表。 I tried several ways with fasterxml, but I was not successful. 我用fastxml尝试了几种方法,但没有成功。

{
  "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",
            }
          }
        ]
      }
    ]
  ]
}

Can anybody help me how my Java POJOs should look like? 有人可以帮我Java POJO的样子吗?

It seems like a array of message. 似乎是一堆消息。

In Java you can use Spring to transform the Json to a Object. 在Java中,您可以使用Spring将Json转换为Object。

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

Be sure that your entity has all the attributes of Json. 确保您的实体具有Json的所有属性。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM