未分类
2020-12-16 10:26:10
1822677238@qq.com
手机扫码查看
2020java框架教程之spring的json类型
1.jackson
<!-- jackson --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.12.0</version> </dependency>
控制层:
//json查询所有
@ResponseBody
@RequestMapping(value = "/listjson",method = RequestMethod.GET)
public Collection<User> listjson(){
return usersDao.getAll();
}
2.gson
<!-- gson --> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.0</version> </dependency>
3.jsonp
控制层:
//jsonp
@RequestMapping(value = "/jsonp",method = RequestMethod.GET)
public void jsonp(String callback, HttpServletResponse response){
Collection<User> list = usersDao.getAll();
Gson gson=new Gson();
String json = gson.toJson(list);
PrintWriter writer = null;
try {
writer = response.getWriter();
} catch (IOException e) {}
writer.println(callback+"("+json+")");
}
脚本:
<script>
function showdata(data){
console.log(data);
}
</script>
<script src="${pageContext.request.contextPath}/admin/jsonp?callback=showdata"></script>
json数据类型的提交
控制层:
@RequestMapping(value = "save-json",method = RequestMethod.POST)
public String savejson(@RequestBody User user){
System.out.println(user);
System.out.println("savejson");
usersDao.save(user);
return "redirect:/admin/list";
}
添加表单页:
将表单的提交按钮改成
<button type="button" id="jsonBtn">submit</button>
<script src="${pageContext.request.contextPath}/lib/js/jquery-3.3.1.min.js"></script>
<script>
$(function(){
$("#jsonBtn").click(function(){
var row={
username:$("#username").val(),
password:$("#password").val(),
age:$("#age").val()
}
$.ajax({
url:'save-json',
type:'post',
contentType:'application/json;charset=utf-8',
data:JSON.stringify(row)
});
});
});
</script>



发表回复