首页 Java java教程 关于springMVC处理json数据教程

关于springMVC处理json数据教程

May 16, 2017 am 09:17 AM
springmvc

本篇文章主要介绍了详解springMVC之与json数据交互方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

前台代码:

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

      $.ajax({
         url:"ceshijson",
         type:"post",
         dataType:'json',
         **需要注意地方 start**
         contentType:'application/json;charset=utf-8',
         data:JSON.stringify(schoolBannerInfo),
         **需要注意地方 end**
         success:function(data){
            alert(data);
         },
         error:function(XMLHttpRequest, textStatus, errorThrown){ 
          alert("Error") 
          alert(XMLHttpRequest.status); 
          alert(XMLHttpRequest.readyState); 
          alert(textStatus); 
          }
      });
     }
   }
登录后复制

加粗的部分是要注意的地方。

其中contentType:'application/json;charset=utf-8'不能省掉,否则会报415错误。

毕竟我发送的是json字符串,得告诉服务器,来的数据是json数据。

JSON.stringify()是将JavaScript对象转换为json字符串

JSON.parse(jsonstr)是将json字符串转换为JavaScript对象

补充知识:json其实就是JavaScript的子集。

参考地址:www.jb51.net/article/35090.htm

后台代码:

pojo类:

public class SchoolBannerInfo {
  private Integer id;
  private Date createTime;
  private String img;
  private String title;
  private String info;
  private Integer seq;
  private Integer schoolId;
  private String type;
  private boolean enable;
  private String link;
  private String channelId;
}
登录后复制

get与set方法自己生成,这个就不贴出来了。

controller中方法:

@RequestMapping(value="/ceshijson",produces="application/json;charset=UTF-8")
@ResponseBody
public SchoolBannerInfo ceshijson(@RequestBody SchoolBannerInfo schoolBannerInfo) throws IOException{
//   Map<String,Object> map = new HashMap<String,Object>();
//    map.put("channelId", channelId);
//    ObjectMapper mapper = new ObjectMapper();
//    channelId = mapper.writeValueAsString(map);
    return schoolBannerInfo;
  }
登录后复制

注意:

1、@RequestBody不能省,因为前台发过来的数据是json数据,得用这个注解去解析该怎么接收这些数据给pojo类的对象。

2、因为我也要返回json数据。所以需要这个注解@ResponseBody,把Java对象转换成json字符串

3、当使用@RequestBody时,要求前台传过来的数据是json字符串。如果是json对象是会出错的。所以如果你前台data部分这么写:data:{“channelId”:2},这样是不行的。因为{“channelId”:2}是json对象,你需要再在外层加个引号'{“channelId”:2}'这样才行。

4、要是方法返回值为简单类型比如:String时,该如何处理呢!

【相关推荐】

1. 特别推荐“php程序员工具箱”V0.1版本下载

2. Java免费视频教程

3. JAVA初级入门视频教程

以上是关于springMVC处理json数据教程的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

SpringBoot与SpringMVC的比较及差别分析 SpringBoot与SpringMVC的比较及差别分析 Dec 29, 2023 am 11:02 AM

SpringBoot和SpringMVC都是Java开发中常用的框架,但它们之间有一些明显的差异。本文将探究这两个框架的特点和用途,并对它们的差异进行比较。首先,我们来了解一下SpringBoot。SpringBoot是由Pivotal团队开发的,它旨在简化基于Spring框架的应用程序的创建和部署。它提供了一种快速、轻量级的方式来构建独立的、可执行

比较SpringBoot与SpringMVC的差异是什么? 比较SpringBoot与SpringMVC的差异是什么? Dec 29, 2023 am 10:46 AM

SpringBoot与SpringMVC的不同之处在哪里?SpringBoot和SpringMVC是两个非常流行的Java开发框架,用于构建Web应用程序。尽管它们经常分别被使用,但它们之间的不同之处也是很明显的。首先,SpringBoot可以被看作是一个Spring框架的扩展或者增强版。它旨在简化Spring应用程序的初始化和配置过程,以帮助开发人

SpringBoot与SpringMVC的区别是什么? SpringBoot与SpringMVC的区别是什么? Dec 29, 2023 pm 05:19 PM

SpringBoot和SpringMVC是Java开发中常用的两个框架,它们都是由Spring框架所提供的,但在功能和使用方式上有着一些区别。本文将分别介绍SpringBoot和SpringMVC的特点和区别。一、SpringBoot的特点:简化配置:SpringBoot通过约定优于配置的原则,大大简化了项目的配置过程。它可以自动配置项目所需要的参数,开发人

springboot和springmvc有哪些区别 springboot和springmvc有哪些区别 Jun 07, 2023 am 10:10 AM

springboot和springmvc区别是:​1、含义不同;2、配置不同;3、依赖项不同;4、开发时间不同;5、生产力不同;6、实现JAR打包功能的方式不同;7、是否提供批处理功能;8、作用不同;9、社区和文档支持不同;10、是否需要部署描述符。

spring和springmvc有哪些区别 spring和springmvc有哪些区别 Dec 29, 2023 pm 05:02 PM

spring和springmvc的区别:1、定位和功能;2、核心功能;3、应用领域;4、扩展性。详细介绍:1、定位和功能,Spring是一个综合性的应用程序开发框架,提供了依赖注入、面向切面编程、事务管理等功能,旨在简化企业级应用程序的开发,而Spring MVC是Spring框架中的一个模块,用于Web应用程序的开发,实现了MVC模式;2、核心功能等等。

Java API 开发中使用 SpringMVC 进行 Web 服务处理 Java API 开发中使用 SpringMVC 进行 Web 服务处理 Jun 17, 2023 pm 11:38 PM

随着互联网的发展,Web服务越来越普遍。JavaAPI作为一种应用编程接口,也在不断地推出新的版本来适应不同的应用场景。而SpringMVC作为一种流行的开源框架,能够帮助我们轻松地构建Web应用程序。本文将详细讲解在JavaAPI开发中,如何使用SpringMVC进行Web服务处理,包括配置SpringMVC、编写控制器、使用

Java的SpringMVC拦截器怎么用 Java的SpringMVC拦截器怎么用 May 13, 2023 pm 02:55 PM

拦截器(interceptor)的作用SpringMVC的拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。将拦截器按一定的顺序联结成一条链,这条链称为拦截器链(InterceptorChain)。在访问被拦截的方法或字段时,拦截器链中的拦截器就会按其之前定义的顺序被调用。拦截器也是AOP思想的具体实现。拦截器和过滤器区别区别过滤器(Filter)拦截器(Intercepter)使用范围是servlet规范中的一部分,任何JavaWeb工程都可以使用是Spri

比较SpringBoot和SpringMVC的异同点 比较SpringBoot和SpringMVC的异同点 Dec 29, 2023 am 08:30 AM

解析SpringBoot和SpringMVC之间的异同SpringBoot和SpringMVC是Java领域中非常重要的开发框架。虽然它们都属于Spring框架的一部分,但是在使用和功能上有一些明显的区别。本文将对SpringBoot和SpringMVC进行比较,解析它们之间的异同。首先,让我们来了解一下SpringBoot。SpringBo

See all articles