Java如何接收前端传来的多层嵌套的复杂json串
想看问题直接解决方式,直接拉到博文底部.
Spring的controller在接收前端传参的时候如果参数使用@RequestBody标注的时候
@RequestBody
则会把前端参数转为JSON的形式,当然内部是怎么实现的像我这种菜鸡目前肯定是不懂的.
但是有的时候会遇到一种情况,比如说JSON嵌套的时候之前我想的是DTO中包含一个String类型的参数,因为Json不就相当于一个字符串嘛
整理了一下,前端传来的参数这样子
{"Code": "001","state": 0,"content": "{"name": "小明","age": 18}"
}
但是实际上面的JSON是一个错误的json,正常传参的时候根本就不能把Json写成下面的格式
{"Code": "001","state": 0,"content": {"name": "小明","age": 18}
}
正常的json格式应该是上面这个样子的,但是这个时候我就比较迷惑了,既然不能接受字符串形式,这里的参数该怎么弄呢?
根据业务逻辑,这里面可以在DTO,封装一个需要的实体类,比如说可以放置一个User的参数
但是有的时候,我们会发现我们是根本不知道里面实体类的代码的,甚至说这个实体类里面还会嵌套着更多的别的实体类
所以我选择采用Object当参数
/*** 信息json串*/private Object content;
之后呢,在保存数据的时候可以通过下面的代码,将Json转为String存入数据库
Vo vo= new Vo();JSONObject jsonObject = JSONObject.fromObject(applyRecordDto.getContent());String s = jsonObject.toString();vo.setContent(s);
大功告成,大体上解决方法就是上面的凉行代码,当然你也可以选择别的方式,毕竟能解决问题的方式都好
转载于:https://www.cnblogs.com/shenyanrushang/p/10852468.html
Java如何接收前端传来的多层嵌套的复杂json串相关推荐
- java后端接收前端传来的String数组
我们来看下面一段代码,我们需要接收前端传来的String字符数组:我们来模拟下错误传参: @PostMapping("/getStrArray")public ResponseMe ...
- SpringBoot接收前端传来的json数据
当前端传来json数据时,后端有多种方式接收 前端json数据: {id:121, //数字name:"lhj", //字符串scoreList:[ //对象{Java:95}, ...
- php怎么传json数据_php怎么接收前端传来的json数据
php怎么接收前端传来的json数据php 如何接收前端传来的json数据 前端用JQ 生成一个有字段名和值格式的键值对 的JSON 格式的字串 转码后 提交给后台的PHP 处理 代码如下 json_ ...
- 如何接收前端传来的json数据
我是小康小白,一个平平无奇的Java小白.热爱有趣的文字,生活和远方. 从前端获取json格式包的数据,而不是仅仅通过参数来获得 1.第一种使用使用IOUtils的读取包方式 但这种方法需要jar包 ...
- java接收前端传来的日期,格式化后录入数据库
前端页面input 标签的类型是date类型 实体类为Date 类型 加上 @JsonFormat ,可以格式化成不同的日期格式 这是前台查询到数据库的时间 如果前后端传的数据都是json格式,那么后 ...
- Java后端接收前端post方式传来的表单数据
可以通过HttpServletRequest和@RequestParam注解来获取post提交的表单数据 1.使用HttpServletRequest来获取 @PostMapping(value = ...
- java怎么接收前端请求_前端json post 请求 后端怎么接收
前端提交 POST /api/test HTTP/1.1 Host: 192.168.135.69:81 Connection: keep-alive Content-Length: 18 Origi ...
- 【Java 后端接收前端的富文本数据,其中标签样式数据丢失解决】
[问题处理记录] 问题 前端json字符串传值富文本格式的字段给我,字符串参数如下: "<p data-we-empty-p="" style="text ...
- Java 后端接收前端的富文本参数,传到后台后标签样式数据丢失
问题描述: 前端传参的时候,某个参数中是富文本格式,格式如下: { "id": "698002e34cb64156ade62a073699f5d9", &q ...
最新文章
- php 中文 过长 省略号,css实现文字过长显示省略号
- 视频压缩编码 gop(Group of Pictures)(I帧间隔)的概念、IDR、I帧(关键帧,intra picture)、P帧、B帧、帧内压缩、帧间压缩、pts(显示时间)、dts(解码时间)
- 华南师范大学计算机学院重修,为什么说本科绩点低毁一生 大学重修可以刷绩点吗...
- 详解Python中的JSON以及在Python中使用JSON
- 解决后退,清空验证码(其它文本框保留)
- 解决element-ui table 表格排列错位问题
- 数的计数【Noip2001】
- [Python] 进制转换
- 如何在matlab中建立水箱模型_水箱
- 开源自己的一个小android项目(美女撕衣服游戏)
- 欧姆龙新​​ 3D AOI 系统中的软件和人工智能
- OA系统如何助力企业行政管理?
- 第四章 函数式编程(Lambda表达式Stream流)
- CAD图纸电子签名应用
- 2017 多校4 Wavel Sequence
- 微软的“胡萝卜”会比“大棒”更有效吗
- 关键点检测方法、人体姿态估计
- BCI Competition 2008 – Graz dataset A个人翻译(附MATLAB安装BioSig)
- MES系统中常见的数据采集方法
- 约瑟夫环问题(数学递推法)
热门文章
- 一步一步的写出你自己的makefile文件
- 【CyberSecurityLearning 37】网络安全常用Linux系统命令以及 源码包的安装过程
- 编写图形界面程序,显示一个红色反弹球的程序,当该球撞击Applet边框时,它应从边框弹回并以相反方向45°运动。
- 白话详细解读(一)-----GoogLeNet(Inception V1-Inception V3)
- 从思维导图学习操作系统(二)
- STM32开发 -- ADC详解
- linux查看磁盘挂载的三种方法
- data spring 指定时区_Spring 框架基础(05):Mvc架构模式,执行流程详解
- android 单例存储,Android 单例在内存中存储数据
- endnote使用经验总结