发布于 2017-05-18 09:36:03 | 107 次阅读 | 评论: 0 | 来源: 网友投递
JSON 数据交换格式
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。
最近学习了springmvc 接收json对象的两种方式,现在整理出来,具体如下:
1、以实体类方式接收
前端 ajax 提交数据:
function fAddObj() {
var obj = {};
obj['objname'] = "obj";
obj['pid'] = 1 ;
$.ajax({
url: 'admin/Obj/addObj.do',
method: 'post',
contentType: 'application/json', // 这句不加出现415错误:Unsupported Media Type
data: JSON.stringify(obj), // 以json字符串方式传递
success: function(data) {
console.log("success...");
},
error: function(data) {
console.log("error...");
}
});
}
springmvc 以model对象的形式接收:
@Controller
@RequestMapping("/admin/Obj")
public class ObjAction {
// 注入操作类
@Autowired
private ObjService objService ;
@RequestMapping(value = "/addObj")
@ResponseBody
public String addObj(@RequestBody Obj obj) {
this.objService.insertObj(cate);
return "success";
}
}
2、以Map接收
@Controller
@RequestMapping("/admin/Obj")
public class ObjAction {
/**
* 前端操作与上面相同
* @return
*/
@RequestMapping(value = "/updateAttr")
@ResponseBody
public String updateAttr(@RequestBody Map<String, String> map) {
if(map.containsKey("id"){
Integer id = Integer.parseInt(map.get("id"));
}
if(map.containsKey("objname"){
String objname = map.get("objname").toString();
}
if(map.containsKey("pid"){
Integer pid = Integer.parseInt(map.get("pid"));
}
// 操作 ...
return "success";
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持phperz。