SpringMVC返回json格式的數據

一 . 通過 jackson 返回JSON數據


1. 引入JAR包

jackson-mapper-lgpl-1.9.13.jar jackson-core-asl-1.9.13.jar jackson-core-lgpl-1.9.13.jarjackson-mapper-asl-1.9.13.jarjackson-core-asl-1.9.13.jar

    jackson-core-lgpl-1.9.13.jar

    jackson-mapper-asl-1.9.13.jar

    jackson-mapper-lgpl-1.9.13.jar


2. Spring配置文件添加

<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">

  <property name="supportedMediaTypes">

   <list>

    <value>application/json;charset=UTF-8</value>

    <value>text/html;charset=UTF-8</value>

   </list>

  </property>

 </bean>

        

3. Controller裏面修改返回值類型

@RequestMapping(value = "{username}")

public @ResponseBody  User find(@PathVariable String username, Model model, HttpServletResponse response) { 

   User u = users.get(username);

   return u;

}


二 . 通過 PrintWriter 輸出字符串返回JSON數據


@RequestMapping(value = "{username}")

public void find2_1(@PathVariable String username, HttpServletResponse response) {

     Gson gson = new Gson();

     User u = users.get(username);

     String us = gson.toJson(u);

    // 需要設置編碼格式,否則可能出現亂碼

     response.setContentType("application/json");

     response.setCharacterEncoding("UTF-8");

     try {

          PrintWriter out = response.getWriter();

          out.print(us);

     } catch (IOException e) {

          e.printStackTrace();

     }

}


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