搜尋
首頁Javajava教程關於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
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通过约定优于配置的原则,大大简化了项目的配置过程。它可以自动配置项目所需要的参数,开发人

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

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

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

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

面试官:你说的SpringMVC的请求处理流程是网上抄的吧?面试官:你说的SpringMVC的请求处理流程是网上抄的吧?Jul 26, 2023 pm 04:34 PM

本文主要从源码的阅读和调试的角度,整体的讲解了SpringMVC处理请求的整个流程,并且讲解了参数的绑定以及返回值的处理。相信大家看完后,结合自己的调试信息,会对SpringMVC的请求处理过程有一个更深入的理解。

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、核心功能等等。

See all articles

熱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.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!