【发布时间】:2017-08-15 01:26:48
【问题描述】:
我到处寻找如何将部分 JSON 反序列化为对象,将其余部分反序列化为 JsonObject。
例如:
{
"id" : "123",
"message" : {"subject" : "test sub" , "body" : "test body"}
}
我想将此 JSON 反序列化为此类:
public class className {
private String id;
private transient JsonObject message;
// getters and setters
}
问题是反序列化后我得到空对象{}inside "message"。
有人知道吗?
================================================ =======
编辑:
更多信息,我正在使用 Spring MVC,JSON 正在通过 POST 消息发送到我的控制器中。
控制器函数如下所示:
public @ResponseBody String publish(@RequestBody final className input, final HttpServletRequest request,
final HttpServletResponse response) {
//input.message = {}
}
【问题讨论】:
-
对我来说很好。请发帖minimal reproducible example。
-
这对我来说很好。您确定您使用的是来自 Gson 的正确
JsonObject类型吗?请提供minimal reproducible example。 -
我正在使用
com.google.gson.JsonObject。我使用 POST 请求和正文中的 JSON 将输入输入到我的 REST 控制器中。控制器如下所示:public String sendMessage(@RequestBody final className input, ...);我在函数入口后立即停止断点并检查我的输入,ID 在那里但消息为空 -
因此涉及到 Spring MVC 和可能的 Jackson。请在您的问题中提供这些详细信息。 Jackson 在类路径上吗?
-
谢谢,我已经编辑了我的问题。
标签: java json spring-mvc gson