gpt4 book ai didi

Java将JSON的一部分反序列化为对象,其余部分反序列化为JsonObject

转载 作者:行者123 更新时间:2023-11-29 04:33:09 25 4
gpt4 key购买 nike

我到处都在寻找如何将 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
}

问题是在反序列化之后,我在“消息”中得到空对象 {}

有人知道吗?

============================================= =======

编辑:

更多信息,我正在使用 Spring MVC,JSON 正在通过 POST 消息发送到我的 Controller 中。

Controller 函数如下所示:

public @ResponseBody String publish(@RequestBody final className input, final HttpServletRequest request,
final HttpServletResponse response) {
//input.message = {}
}

最佳答案

那是因为 Spring 试图用 Jackson 库解析你的对象,而你的对象持有 Gson 对象(不能用 Jackson 解析)。

请引用Configure Gson in Spring .

@Configuration
@EnableWebMvc
public class Application extends WebMvcConfigurerAdapter {

@Override
public void configureMessageConverters(List<HttpMessageConverter < ? >> converters) {
GsonHttpMessageConverter gsonHttpMessageConverter = new GsonHttpMessageConverter();
converters.add(gsonHttpMessageConverter);
}
}

关于Java将JSON的一部分反序列化为对象,其余部分反序列化为JsonObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42960000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com