2.1.springMVC JSON操作

一、接受JSON對象字符串

在SpringMVC環境中,@RequestBody接收是一個Json對象的字符串,而不是一個Json對象。然而在ajax請求往往傳的都是Json對象,後來發現用 JSON.stringify(data)的方式就能將對象變成字符串。同時ajax請求的時候也要指定dataType: "json",contentType:"application/json" 這樣就可以輕易的將一個對象或者List傳到Java端,使用@RequestBody即可綁定對象或者List.

<script type="text/javascript">  
    $(document).ready(function(){  
        var saveDataAry=[];  
        var data1={"userName":"test","address":"gz"};  
        var data2={"userName":"ququ","address":"gr"};  
        saveDataAry.push(data1);  
        saveDataAry.push(data2);         
        $.ajax({ 
            type:"POST", 
            url:"user/saveUser", 
            dataType:"json",      
            contentType:"application/json",               
            data:JSON.stringify(saveFateAry<span style="font-family: Arial, Helvetica, sans-serif;">), </span>
            success:function(data){ 
                                       
            } 
         }); 
    });  
</script> 

    @RequestMapping(value = "saveUser", method = {RequestMethod.POST }}) 
    @ResponseBody  
    public void saveUser(@RequestBody List<User> users) { 
         userService.batchSave(users); 
    }

二、向前臺傳送JSON數據

1.先配置 XXX_ servletxml 

<!-- 整合jackson 返回一個json格式 -->
	<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
		<property name="messageConverters">
			<list>
				<ref bean="mappingJacksonHttpMessageConverter"/>
			</list>
		</property>
	</bean>
	<bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/>

2.再然後Action方法裏註解就可以

<pre code_snippet_id="277836" snippet_file_name="blog_20140406_4_8928095" name="code" class="java">@RequestMapping(value="/sendShopInJSON", method = RequestMethod.POST)
@ResponseBody
public Shop  sendShopInJSON(){
     Shop shop = new Shop();  
        shop.setName(name);  
        shop.setStaffName(new String[]{"mkyong1", "mkyong2"});  
        return shop;  

}



-----------------------

注意:JSON.stringify() : 將對象轉換成json字符串。JSON.parse(): 將json字符串轉換成json對象。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章