springMVC就json和对象互转的问题

本文详细介绍了如何使用POST和GET方法通过@RequestBody和@ReponseBody注解实现JSON数据与Java对象之间的转换。同时,探讨了使用Jackson库进行手动JSON转换的方法,并提到了直接返回JSON数据的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.POST

@RequestBody:json-->obj,这里直接在@RequestBody后面写上这个obj即可以接受,如果前端传来的json,key不匹配,或者key丢失、增多,以后端的写的这个obj为准,没有或者丢失,obj对应的key值都是null

@ReponseBody:obj-->对象,在标注了@ResponseBody的方法的返回值的地方,直接写obj类型,这样obj会自动转成json写到responsebody区

@ReuquestParam:如果是一个url?后面拼的字段,这个时候不要写@RequestParam这个注解,直接写一个obj的入参,如果匹配,那么obj里面就有值,缺失或者错误也一样都是null

2.GET

除了RequestBody没有,其他均与POST的一样

3.Converter

前面讲了各种converter。。。搞来搞去,最后居然都没用到

MappingJackson2HttpMessageConverter

,就可以直接去转了,真的佛了-。-。。。。也不看源码了,现在所有的转的情况已经看到了

4.Jackson

我们上面写的json跟obj的互转,是旨在方法的入参,我们也可以完全把入参全部写成String,然后在用ObjectMapper,也就是用Jackson去手动转,那么,在这里jackson就完全没有必要写了,其实这种就相当于是使用json的工具类

try {
    s= mapper.writeValueAsString(loser);
} catch (JsonProcessingException e) {
    e.printStackTrace();
}
        

5.其他

如果我们想直接返回json,可以用Map,也可以用List直接返回,返回类型写Map或者List,那么你返回的Map或者List也直接就是返回的一个json

6.一个前端错误

在测试json的时候,这里的data,我之前写了一个data:data,这个时候会把data也在json的外层给封装起来,所以后台接收不到信息.

csdn的这个源码,属实有点坑爹。。。直接搞git的那个,把后台系统赶紧弄出来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值