我到处寻找如何将部分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
}
问题是在反序列化后我在“message”中得到空对象{}
。
有人对此有任何想法吗?
=============================================== =======
编辑:
更多信息,我使用Spring MVC,JSON正通过POST消息发送到我的控制器。
控制器功能如下所示:
public @ResponseBody String publish(@RequestBody final className input, final HttpServletRequest request,
final HttpServletResponse response) {
//input.message = {}
}
答案 0 :(得分:3)
这是因为Spring试图用Jackson库解析你的对象,而你的对象持有Gson对象(不能用Jackson解析)。
@Configuration
@EnableWebMvc
public class Application extends WebMvcConfigurerAdapter {
@Override
public void configureMessageConverters(List<HttpMessageConverter < ? >> converters) {
GsonHttpMessageConverter gsonHttpMessageConverter = new GsonHttpMessageConverter();
converters.add(gsonHttpMessageConverter);
}
}