2016-03-02 48 views
0

在下面的例子中,我有一個方法sendJsonResponce方法是什麼,只是把字符串值映射到地圖,我們正在從createChildSalesPosition方法返回到我們的網頁的地圖。轉換JSON對象在彈簧MVC

我們使用SpringMVC在這裏,因爲我已經通過一些網站說你需要的時候你要發送一個JSON響應對象更改爲JSON類型,但在我的項目,我覺得這其中發送JSON應答,而不去任何類型轉換JSON

因爲開發應用程序的人沒有更多的可用我卡在這裏。

@RequestMapping(value="createChildSalesPositions.json",produces="application/json") 
      @ResponseBody 
      public Map<String,String> createChildSalesPositions(@RequestParam("tId") Integer templateId,@RequestParam("prnSalesPosId") Long prnSalesPosId,@RequestParam("prnSalesHierId") Long prnSalesHierId, 
        HttpServletRequest request,@ModelAttribute("ALIGNMENTINFO") AlignmentInfo alignmentInfo,@ModelAttribute("USERSESSION") UserDetails userDetails)throws BusinessException, IOException{  
       try{ 


       return sendJosnResponse(crId);     
      } 
      }catch(Exception e){    
       return sendErrorResponse(e);    
      } 
     } 




private Map<String,String> sendJosnResponse(long crId) throws IOException{ 
     Map<String,String> tosend =new HashMap<String,String>(); 
     tosend.put("code", "200"); 
     tosend.put("message", "CR "+crId+" has been generated successfully."); 
     tosend.put("crId", String.valueOf(crId)); 
     return tosend; 
    } 
+0

您可以將jackson庫添加到您的類路徑 –

+0

,因爲根據我的理解,它會自動轉換爲JSON響應,因爲寫入生產=「application/json在方法頂部@ArunPJohny –

+1

是的,但有人應該幫助Spring做那是通過MessageConverters完成的,http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-config-enable –

回答

0

您需要告訴spring框架如何將java對象轉換爲json。 Spring框架使用HttpMessageConverter來做到這一點,將java對象轉換爲json spring可以使用jackson libraray。

要啓用此支持,您可以使用@EnableWebMvc註釋或<mvc:annotation-driven/> xml配置,並將jackson庫添加到類路徑中。