SpringMVC返回JSON格式的数据:

  1 添加jar包(gson-2.8.0.jar):

        <dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.0</version>
</dependency>

   或者(jackson-databind-2.1.5.jar):

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

   2 在controller中配置注解:   

      方法的返回值就是需要的对象

      @ResponseBody会自动调用包中的方法将数据转为json格式

    @ResponseBody
@RequestMapping(value="/users-json", method=RequestMethod.GET)
public Collection<User> listjson() {
//显示列表
return userDao.getAll();
}

SpringMVC返回JSONP格式的数据:

  1 使用gson

    js只有数组,数组具有所有集合的特性

    jquery实现jsonp环境:动态生成了一个script标签,将请求转发到远程地址

    script标签必须定义到callback方法后面

@RequestMapping(value="/users-jsonp", method=RequestMethod.GET)
public void listjson(String callback, HttpServletResponse response) throws IOException {
//显示列表
Collection<User> list = userDao.getAll();
Gson gson = new Gson();
String json = gson.toJson(list);
response.getWriter().println(callback + "(" + json + ")");
}
<script>
  function showdata(data){
   console.log(data);
  }
</script>
<script src="http://localhost:8080/springmvc-02-mvn/users-jsonp?callback=showdata">
</script>

  2 使用spring内置的处理方式:

@RequestMapping(value="/user/checklogin2/{token}", produces=MediaType.APPLICATION_JSON_UTF8_VALUE)
@ResponseBody
public String checkLogin(@PathVariable String token, String callback){
MessageResult result = ssoService.getUserByToken(token);
String json = JsonUtils.objectToJson(result);
String returnStr = callback + "(" + json + ")";
return returnStr;
}

  3 使用springMVC提供的类:

@RequestMapping(value="/user/checklogin2/{token}", produces=MediaType.APPLICATION_JSON_UTF8_VALUE)
@ResponseBody
public String checkLogin(@PathVariable String token, String callback){
MessageResult result = ssoService.getUserByToken(token);
String json = JsonUtils.objectToJson(result);
String returnStr = callback + "(" + json + ")";
return returnStr;
}

SpringMVC提交JSON格式的数据:

   对表单进行json提交(使用ajax):

 $(function(){
$('#saveBtn').click(function(){
        //创建javascript对象
var row = {
username: $('#username').val(),
password: $('#password').val(),
age: $('#age').val(),
}
$.ajax({
url: 'user-json',
type: 'post' ,
contentType: 'application/json;charset=utf-8',//声明请求头的内容类型
data: JSON.stringify(row)//将js对象转为json串
});
});
});
    @RequestMapping(value="/user-json", method=RequestMethod.POST)
public String savejson(@RequestBody User user) { userDao.save(user);
return "redirect:/users";
}

Spring MVC 处理JSON | JSONP类型数据的更多相关文章

  1. Spring MVC—数据绑定机制,数据转换,数据格式化配置,数据校验

    Spring MVC数据绑定机制 数据转换 Spring MVC处理JSON 数据格式化配置使用 数据校验 数据校验 Spring MVC数据绑定机制 Spring MVC解析JSON格式的数据: 步 ...

  2. spring mvc返回json字符串数据,只需要返回一个java bean对象就行,只要这个java bean 对象实现了序列化serializeable

    1.spring mvc返回json数据,只需要返回一个java bean对象就行,只要这个java bean 对象实现了序列化serializeable 2. @RequestMapping(val ...

  3. ajax使用向Spring MVC发送JSON数据出现 org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported错误

    ajax使用向Spring MVC发送JSON数据时,后端Controller在接受JSON数据时报org.springframework.web.HttpMediaTypeNotSupportedE ...

  4. spring mvc返回json字符串的方式

    spring mvc返回json字符串的方式 方案一:使用@ResponseBody 注解返回响应体 直接将返回值序列化json            优点:不需要自己再处理 步骤一:在spring- ...

  5. Maven 工程下 Spring MVC 站点配置 (二) Mybatis数据操作

    详细的Spring MVC框架搭配在这个连接中: Maven 工程下 Spring MVC 站点配置 (一) Maven 工程下 Spring MVC 站点配置 (二) Mybatis数据操作 这篇主 ...

  6. Spring Mvc 输出Json(iwantmoon.com出品)

    原文:http://iwantmoon.com/Post/f94e49caf9b6455db7158474bab4c4dd 因为工作需要,现在要去做开放平台,考虑了多种方案之后,基本确定 下来,Htt ...

  7. Spring MVC 的json问题(406 Not Acceptable)

    原因 : 就是程序转换JSON失败. 在pom.xml 加上 <dependency> <groupId>com.fasterxml.jackson.core</grou ...

  8. Spring MVC之JSON数据交互和RESTful的支持

    1.JSON概述 1.1 什么是JSON JSON(JavaScript Object Notation,JS对象标记)是一种轻量级的数据交换格式.它是基于JavaScript的一个子集,使用了C.C ...

  9. Spring MVC返回json数据给Android端

    原先做Android项目时,服务端接口一直是别人写的,自己拿来调用一下,但下个项目,接口也要自己搞定了,我想用Spring MVC框架来提供接口,这两天便抽空浅学了一下该框架以及该框架如何返回json ...

随机推荐

  1. chrome自带调试工具介绍

    Chrome浏览器不仅可以调试页面.JS.请求.资源.cookie,还可以模拟手机进行调试等等,为开发者提供了很多方便,下面就介绍一下我常用到的调试技巧. 1.chrome浏览页面常用快捷键 Ctrl ...

  2. 02HDFS架构

    https://www.cnblogs.com/zhoujingyu/p/5040957.html https://blog.csdn.net/firstchange/article/details/ ...

  3. S老师 C#编程数据结构篇 学习

    直接插入排序                                                       冒泡排序 简单选择排序 线性表: using System; using Sy ...

  4. Delphi Json之树遍历

    procedure TForm1.VisitDirJsonTree(const AJsonObj: ISuperObject); var i: Integer; oItem: TSuperAvlEnt ...

  5. 单节点 Elasticsearch 出现 unassigned shards 原因及解决办法

    根本原因: 是因为集群存在没有启用的副本分片,我们先来看一下官网给出的副本分片的介绍: 副本分片的主要目的就是为了故障转移,正如在 集群内的原理 中讨论的:如果持有主分片的节点挂掉了,一个副本分片就会 ...

  6. spring boot 2 返回Date 格式化问题

    以前 返回数据把Date  转成 long的时间毫秒数.现在是格式化成了字符串. 默认的结果:"createDate": "2018-09-06T10:04:25.000 ...

  7. 使用Jmeter创建ActiveMQ JMS POINT TO POINT请求,环境搭建、请求创建、插件安装、监听服务器资源等

    转自:http://www.cnblogs.com/qianyiliushang/p/4348584.html 准备工作: 安装JDK,推荐使用1.7以上版本,并设置JAVA_HOME 下载Jmete ...

  8. C# 继承、虚方法、方法重载和多态

    继承:继承属于单继承,只能继承一个父类. 继承的一个结果是派生于基类的子类在方法和属性上有一定的重叠. 继承只能够同时继承与一个基类:可以同时继承一个基类和多个接口,但是基类必须放在第一个.(注:C# ...

  9. Tomcat里面的APR配置问题研究

    这里,之所以研究这个问题,是因为我们的生产系统Linux环境下的tomcat日志里面,启动信息的地方有这么一个WARNING. INFO: The APR based Apache Tomcat Na ...

  10. Keras/Tensorflow训练逻辑研究

    Keras是什么,以及相关的基础知识,这里就不做详细介绍,请参考Keras学习站点http://keras-cn.readthedocs.io/en/latest/ Tensorflow作为backe ...