java后台接受ajax传的json数据,json数据又有对象,数组。

所有总结下springmvc获取前端传来的json数据方式:
1、以RequestParam接收
前端传来的是json数据不多时:[id:id],可以直接用@RequestParam来获取值

@Autowired
private AccomodationService accomodationService;

@RequestMapping(value = "/update")
@ResponseBody
public String updateAttr(@RequestParam ("id") int id) {
  int res=accomodationService.deleteData(id);
  return "success";
}

2、以实体类方式接收
前端传来的是一个json对象时:{【id,name】},可以用实体类直接进行自动绑定

@Autowired
private AccomodationService accomodationService;

  @RequestMapping(value = "/add")
  @ResponseBody
  public String addObj(@RequestBody Accomodation accomodation) {
    this.accomodationService.insert(accomodation);
    return "success";
  }

3、以Map接收
前端传来的是一个json对象时:{【id,name】},可以用Map来获取

@Autowired
private AccomodationService accomodationService;

@RequestMapping(value = "/update")
@ResponseBody
public String updateAttr(@RequestBody Map<String, String> map) {
  if(map.containsKey("id"){
    Integer id = Integer.parseInt(map.get("id"));
  }
  if(map.containsKey("name"){
    String objname = map.get("name").toString();
  }
  // 操作 ...
  return "success";
}

4、以List接收
当前端传来这样一个json数组:[{id,name},{id,name},{id,name},…]时,用List接收

@Autowired
private AccomodationService accomodationService;

@RequestMapping(value = "/update")
@ResponseBody
public String updateAttr(@RequestBody List<Accomodation> list) {
  for(Accomodation accomodation:list){
    System.out.println(accomodation.toString());
  }
  return "success";
}
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐