前端ajax post请求传的参数格式为json对象{userName:'15488779956'},如下图
问题是:
后台java如何解析这种格式的数据呢??
如果前台传的是json字符串,如'{"userName":"15488779956"}',java又如何获取呢
前端ajax post请求传的参数格式为json对象{userName:'15488779956'},如下图
问题是:
后台java如何解析这种格式的数据呢??
如果前台传的是json字符串,如'{"userName":"15488779956"}',java又如何获取呢
1.从request的inputStream中获取post的数据并转为String格式
2.String转JSON(常用的:fastjson、jackson、gson)
读取inputStream的时候,注意编码问题,否则中文乱码
如果是springmvc,可以定义对象并使用@RequestBody 来接收,如果不想定义对象,也可以使用HashMap来接收。
@PostMapping("")
public Result insert(@RequestBody T record){
return new Result().setSuccess(service.insertSelective(record)==1);
}
如果不是springmvc,可以使用request对象获得流,然后读取流里面的的内容就可以获得前端传递的json字符串。
后端通过requetst.getParameter()获取json字符串,然后对字符串进行解析。
可以通过JSONObject进行json也可以使用第三方工具。
例如:fastjson ,jackson ,gson。个人建议使用fastjson毕竟是阿里出的在数据量很大时效率很高。
8 回答4.1k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答3.9k 阅读✓ 已解决
6 回答2.5k 阅读✓ 已解决
5 回答2.3k 阅读✓ 已解决
5 回答5.9k 阅读✓ 已解决
4 回答2k 阅读✓ 已解决
假设使用 jQuery 中的 ajax
1. Json 对象
前端代码示例
后台代码示例
2. Json 字符串
后台示例代码