【发布时间】:2018-06-17 21:33:50
【问题描述】:
我得到下面的 JSON 字符串作为我的 REST API 的请求正文。我不喜欢这种 JSON 结构,但对此我没有任何控制权。是其他人发布了这条消息,我必须创建一个 REST API(POST 方法)并在我的 API 中使用这条消息。所以我必须在我的 REST 控制器中将其反序列化为 Java 对象。它有列表对象的列表。我用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",
}
}
]
}
]
]
}
谁能帮我看看我的 Java POJO 应该是什么样子?
【问题讨论】:
-
请发表您到目前为止所尝试的内容,这样我们可以更好地帮助您
-
没有人愿意这样做。只是为了类型安全。但如果您坚持,请尝试使用 Google 地图。
-
@atmin,如果 POJO 以正确的方式编程,那么您应该不会有任何类型安全问题,只要您不将其中一个的时间戳与另一个的 id 放在同一个变量中。只要您创建一个 POJO,它的所有字段都具有正确的类型,它就是解析这些数据的完美方法。
-
如果这是您自己的代码,那么我建议更改 json 结构。我同意@atmin,这个 json 没有意义。忘记 Java,只需尝试为这个 json 定义一个 json 模式。这将是一场斗争。
标签: java json rest api serialization