spring MVC 中json格式數據發送與接收


在web程序開發中,前端和服務器數據的傳輸方式常用的有兩種,一種是以表單的形式提交,此時可以利用jquery的serialize()方法將表單內容轉為a=1&b=2&c=3&d=4&e=5這樣的格式傳輸過去,接收端則可以用javabean直接接收。
還有一種方式是以json格式傳輸,接收時若直接用bean接收則接收不到,此時應該用@RequestBody方式,需要注意的是接收的需要是json串,而不是json對象,可以在發送前使用JSON.stringify函數進行處理。
例子如下
客戶端:
 var url=path+'testConverter.html';
    $.ajax( {
    url : url,
    type : "POST", 
    dataType:"json",
    contentType:'application/json;charset=UTF-8',
   data:JSON.stringify({userId:'1',userName:'hello',password:'test',credits:'2',lastIp:'',lastVisit:'1986-05-27'}),
    success : function(data) {
        alert(data.userName);   
   
    },
error:function(e){
    alert("err");   
    }   

服務端:
@RequestMapping(value="/testConverter.html")
    @ResponseBody
    public User testConverter(@RequestBody User  user)
    {
        System.out.println(user.getUserName());
        user.setUserName("testname");       
        return user;       
    }

上面例子中服務端返回的是個對象,@ResponseBody函數會自動將其轉換為客戶端要求的‘ dataType:"json",’格式。

最后需要注意的是

1,在xxx-serverlet配置文件中應該寫上,以便可以使用 @ResponseBody和@RequestBody
2,發送時要寫上 contentType:'application/json'
3,數組內容要用[]而不是list,用list會接收到一個map對象,而不是bean

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM