Java如何接收前端传来的多层嵌套的复杂json串

本文探讨了在Spring MVC中,如何处理前端传递的多层嵌套复杂JSON对象。通过使用`@RequestBody`注解,可以将前端参数转化为JSON。在遇到JSON嵌套时,如果无法直接用字符串类型接收,可以创建对应的DTO对象,或者使用`Object`作为参数,然后在保存数据时将JSON转换为字符串存储。示例中展示了利用`Object`参数和转换方法来解决问题。

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

想看问题直接解决方式,直接拉到博文底部.

Spring的controller在接收前端传参的时候如果参数使用@RequestBody标注的时候

@RequestBody

则会把前端参数转为JSON的形式,当然内部是怎么实现的像我这种菜鸡目前肯定是不懂的.

但是有的时候会遇到一种情况,比如说JSON嵌套的时候之前我想的是DTO中包含一个String类型的参数,因为Json不就相当于一个字符串嘛

整理了一下,前端传来的参数这样子

{
    "Code": "001",
    "state": 0,
    "content": "{
        "name": "小明",
        "age": 18
    }"
}

-------------------2020-06-24 校正 上面json后端无法请求通 会参数错误--------------------
{
    "Code": "001",
    "state": 0,
    "content": "{\n    \"name\": \"小明\",\n    \"age\": 18\n}"
}

但是实际上面的JSON是一个错误的json,正常传参的时候根本就不能把Json写成下面的格式

{
    "Code": "001",
    "state": 0,
    "content": {
        "name": "小明",
        "age": 18
    }
}

正常的json格式应该是上面这个样子的,但是这个时候我就比较迷惑了,既然不能接受字符串形式,这里的参数该怎么弄呢?

 

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值