SpringMVC JSON数据交互实现过程解析

为什么使用JSON进行数据交互?

  JSON数据格式比较简单、解析比较方便,在接口调用及HTML页面Ajax调用时较常用。

JSON交互方式

请求是Key/Value,响应是JSON(推荐使用)

请求是JSON,响应是JSON

依赖包

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.9.8</version>
    </dependency>

测试

请求k/v,响应json

jsp页面

function responseKV(){
  $.ajax({
    type:"post",
    url:'${pageContext.request.contextPath }/responseKV',
    //输入是key/value时,默认就指定好了contentType了,不需要再指定了
    //contentType:'application/json;charset=utf-8',
    //data为key/value形式
    data:'name=json测试&price=999',
    success:function(data){
      alert(data);
    }
  });
}

Controller类(类上加响应标记:@ResponseBody)

// 输入是key/value,输出是json
// @ResponseBody 将返回值转成json串响应给前台
@RequestMapping("/responseKV")
@ResponseBody
public Item responseKV(Item item) {
  return item;
}

请求JSON,响应JSON

jsp页面

function requestJson(){
  $.ajax({
    type:"post",
    url:'${pageContext.request.contextPath }/requestJson',
    //输入是json是 ,需要指定contentType为application/json
    contentType:'application/json;charset=utf-8',
    data:'{"name":"json测试","price":999}',
    success:function(data){
      alert(data.name);
    }
  });
}

Controller类(请求参数上加:@RequestBody标记;类上加@ResponseBody标记)

@Controller
public class JsonController {
  // 输入是json,输出是json
  // @RequestBody 将请求的json串转成java对象
  // @ResponseBody 将返回值转成json串响应给前台
  @RequestMapping("/requestJson")
  @ResponseBody
  public Item requestJson(@RequestBody Item item) {
    return item;
  }
}

报文头

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • SpringMVC接收与响应json数据的几种方式

    前言 前后端的数据交互,除了通过form表单进行提交外,也可以通过ajax向后端传递和接收json格式数据(这种方式可以实现请求数据和页面分离).本文将总结一下在Spring MVC中接收和响应json数据的几种方式. 话不多说了,来一起看看详细的介绍吧 准备步骤: 1.导入json相关框架的依赖(比如jackson). 2.spring mvc的controller方法正常写,如果需要响应json,增加@responsebody注解. 3.在接受json对应的输入参数前,加上@RequestB

  • SpringMvc直接接收json数据自动转化为Map的实例

    springMvc直接接收json数据自动转化为Map ,必须加上@RequestBody注解并且前台ajax发送请求的时候需要对数据进行格式化 $.ajax({ type : "POST", url : "/search", data :JSON.stringify(searchData), contentType:"application/json", dataType : "json", success : functi

  • Spring mvc JSON数据交换格式原理解析

    什么是JSON JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛. 采用完全独立于编程语言的文本格式来存储和表示数据. 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率. 在 JavaScript 语言中,一切都是对象.因此,任何JavaScript 支持的类型都可以通过 JSON 来表示,例如字符串.数字.对象.数组等.看看他的要求和

  • springmvc图片上传及json数据转换过程详解

    springmvc的图片上传 1.导入相应的pom依赖 <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version> </dependency> 2.添加springmvc-servlet.xml里面的配置 <bean id=&q

  • SpringMVC JSON数据交互及RESTful支持实现方法

    JSON概述 JSON(JavaScript Object Notation,JS对象标记)是一种轻量级的数据交换格式,最近几年才流行起来.JSON是基于JavaScript的一个子集,使用了C.C++.C#.Java. JavaScript.Per. Python等其他语言的约定,采用完全独立于编程语言的文本格式来存储和表示数据.这些特性使JSON成为理想的数据交互语言,它易于阅读和编写,同时也易于机器解析和生成. 与XML一样,JSON也是基于纯文本的数据格式.初学者可以使用JSON传输一个

  • Springmvc处理ajax请求并返回json数据

    ①在springmvc方法上添加@ResponseBody注解,springmvc会将数据转换成json并返回: @ResponseBody //指定返回json数据,不跳转页面 @RequestMapping("/list") public List<User> list(User user){ System.out.println("获取到异步请求数据:"+user); //todo 根据条件做数据库查询,返回结果集合 ArrayList<Us

  • Springmvc如何返回xml及json格式数据

    问:@ResponseBody注解怎么指定返回xml 还是json 答:@RequestMapping 的produces 属性指定 produces = "application/xml" 或者 produces = "application/json" 返回xml 文件编码是utf-8,需要以下这么写,否则乱码 @RequestMapping(value = "/rss", produces = "application/xml;c

  • SPRINGMVC JSON数据交互如何实现

    json是一种前后端分离思想所使用的存储数据的格式,然而使用Springmvc这个框架在对前台参数处理时会遇到一些问题,下面我们来看看如何进行数据交互 jsp页面: @RequestBody注解实现接收http请求的json数据,将json数据转换为java对象进行绑定 @ResponseBody注解实现将Controller方法返回java对象转换为json响应给客户端. 加上@ResponseBody注解,就不会走视图解析器,不会返回页面,目前返回的json数据.如果不加,就走视图解析器,返

  • SpringMVC JSON数据交互实现过程解析

    为什么使用JSON进行数据交互? JSON数据格式比较简单.解析比较方便,在接口调用及HTML页面Ajax调用时较常用. JSON交互方式 请求是Key/Value,响应是JSON(推荐使用) 请求是JSON,响应是JSON 依赖包 <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <ver

  • JSP数据交互实现过程解析

    这篇文章主要介绍了JSP数据交互实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.JSP内置对象:JSP内置对象是 Web 容器创建的一组对象,不用通过手动new就可以使用 2.JSP9大内置对象: 对象名称 类型 request (请求对象) javax.servlet.ServletRequest response(响应对象) javax.servlet.SrvletResponse out (输出对象) javax.serv

  • 聊聊Spring MVC JSON数据交互的问题

    我们在开发中后端经常需要接受来自于前端传递的Json字符串数据,怎么把Json字符串转换为Java对象呢?后端也经常需要给前端返回Json字符串,怎么把Java对象数据转换为Json字符串返回呢? 回顾JSON JSON(JavaScript Object Notation) 各个JSON技术比较 早期 JSON 的组装和解析都是通过手动编写代码来实现的,这种方式效率不高,所以后来有许多的关于组装和解析 JSON 格式信息的工具类出现,如 json-lib.Jackson.Gson 和 Fast

  • SpringBoot实现前后端、json数据交互以及Controller接收参数的几种常用方式

    目录 前言 获取参数的几种常用注解 一.请求路径参数get请求 二.Body参数POST请求 四.HttpServletRequest 五.参数校检 最终选择交互方式 参考文献 总结 前言 现在大多数互联网项目都是采用前后端分离的方式开发,前端人员负责页面展示和数据获取,后端负责业务逻辑处理和接口封装.当与前端交互的过程当中,常用json数据与前端进行交互,这样想取出前端传送过来的json数据的时候,就需要用到@RequestBody这个注解.@RequestBody注解用于读取http请求的内

  • SpringBoot前后端json数据交互的全过程记录

    目录 一.参考文献 二.勇敢尝试 三.最终选择交互方式 总结 一.参考文献 原生Ajax与JQuery Ajax SpringMVC接受JSON参数详解及常见错误总结 提交方式为 POST 时, JQuery Ajax 以 application/x-www-form-urlencoded 上传 JSON对象 , 后端用 @RequestParam 或者Servlet 获取参数. JQuery Ajax 以 application/json 上传 JSON字符串, 后端用 @RquestBody

  • Python enumerate函数遍历数据对象组合过程解析

    这篇文章主要介绍了Python enumerate函数遍历数据对象组合过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 介绍 enumerate() 函数用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中. Python 2.3. 以上版本可用,2.6 添加 start 参数. enumerate(sequence, [start=0]) # sequence 是一个序

  • 详解Java中JSON数据的生成与解析

    一.什么是JSON JSON: JavaScript Object Notation JS对象简谱,是一种类似于XML的语言.相比于XML,它更小.更快.更易解析.主要用于项目前端和Server的网络数据传输. 二.JSON的语法 对象 一个对象,由一个大括号表示{},{}中通过一个个的键值对来描述对象的属性 注意: 键与值之间使用冒号连接,多个键值对之间使用逗号分隔. 键值对的键,应使用引号引住(通常Java解析时,键不使用引号会报错,而JS能正确解析):键值对的值,可以是JS中的任意数据类型

  • 详解springMVC之与json数据交互方法

    前台代码: function channel(){ //先获取选中的值 var channelId = $("#channelId option:selected").val(); //来判断发送的链接 if(channelId ==2){ **需要注意地方 start** var schoolBannerInfo = { "img": channelId, "title": channelId, "info": channe

随机推荐