@RequestBody中json转换成对象失败,对象包含list属性

在使用@RequestBody注解从JSON转换对象时,遇到一个问题,当对象中包含内部类的list属性时转换失败。错误提示表明序列化框架无法正确处理内部类。解决方案是将内部类改为静态内部类,这样JSON反序列化时就能成功创建对象。此外,参考链接提供了更多相关信息。
摘要由CSDN通过智能技术生成

开发中遇到了类似的问题,网上已经有人遇到并被解决,记录之

简言之,使用@RequestBody注解接受对象A的json数据时,如果A内有一个list属性 C为另一对象:

json:
{
   
"filedB":"filedBValue",
	"listC":[
		{
   "filedD":"filedDValue1","filedE":"filedEValue1"},
		{
   "filedD":"filedDValue2","filedE":"filedEValue2"}
	]
}
//接受json的方法
@PostMapping(value="/test")
public String test(@RequestBody A a){
   
	//dosomething
}
情形一:

如果A对象和C对象是分开的类,不会出现问题:

public class A {
   
	private String filedB;
	private List<C> listC;

	//getter setter 忽略
}
public class C{
   
	private String filedD;
	private String filedE;
	...
}
情形二 内部类

如果想要使用C作为A的内部类,以下格式会出现问题:


                
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值