我将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应该是什么样的吗?
答案 0 :(得分:0)
这似乎是一个消息数组。
在Java中,您可以使用Spring将Json转换为Object。
String url = "http://your/json/url";
ResponseEntity<Message[]> responseEntity = new RestTemplate().getForEntity(url, Message[].class);
确保您的实体具有Json的所有属性。