在前端开发中,我们常常需要将数据以JSON的形式传送给后端处理。而后端在接收到数据后需要将其转换成可读性高的数组形式。本文将介绍如何在action中接收JSON数组,并将其转换为可读性强的数组。
首先,我们来看一下如何将JSON数据发送至后端。在前端,我们可以使用jQuery的ajax方法来发送POST请求,其中data选项用于将数据以JSON字符串的形式传递给后端。
$.ajax({ url: "/api",method: "POST",dataType: "json",contentType: "application/json",data: JSON.stringify([{name: "Tom",age: 18},{name: "Kate",age: 20}]),success: function(response) { console.log(response); },error: function(error) { console.log(error); } });
在后端,我们需要使用@RequestBody注解来接收JSON数据,并使用ObjectMapper将其转换为数组:
@PostMapping("/api") public ResponseEntity handleRequest(@RequestBody String json) { List<Map<String,String>> list = new ArrayList<>(); try { ObjectMapper mapper = new ObjectMapper(); list = mapper.readValue(json,new TypeReference<List<Map<String,String>>>(){}); return ResponseEntity.ok(list); } catch (Exception e) { return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(e.getMessage()); } }
在这里,我们使用了ObjectMapper来将接收到的JSON数据转换为List<Map<String,String>>类型的数组。需要注意的是,在将JSON数组转换为Java中的数组时,需要使用TypeReference类来指定类型。
使用以上方式,即可在action中接收JSON数组,并将其转换为可读性强的数组。希望这篇文章能够对您有所帮助!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。