少年阿賓

          那些青春的歲月

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks
           今天試著把SpringMVC與fastjson整合了下,經測試也能解決json含中文亂碼的問題,特此分享之。我也是初用,詳細文檔請見官網
          public class MappingFastJsonHttpMessageConverter extends 
                  AbstractHttpMessageConverter<Object> { 
              public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8"); 
           
              private SerializerFeature[] serializerFeature; 
           
              public SerializerFeature[] getSerializerFeature() { 
                  return serializerFeature; 
              } 
           
              public void setSerializerFeature(SerializerFeature[] serializerFeature) { 
                  this.serializerFeature = serializerFeature; 
              } 
           
              public MappingFastJsonHttpMessageConverter() { 
                  super(new MediaType("application", "json", DEFAULT_CHARSET)); 
              } 
           
              @Override 
              public boolean canRead(Class<?> clazz, MediaType mediaType) { 
                  return true; 
              } 
           
              @Override 
              public boolean canWrite(Class<?> clazz, MediaType mediaType) { 
                  return true; 
              } 
           
              @Override 
              protected boolean supports(Class<?> clazz) { 
                  throw new UnsupportedOperationException(); 
              } 
           
              @Override 
              protected Object readInternal(Class<?> clazz, HttpInputMessage inputMessage) 
              throws IOException, HttpMessageNotReadableException { 
                  ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
                  int i; 
                  while ((i = inputMessage.getBody().read()) != -1) { 
                      baos.write(i); 
                  } 
                  return JSON.parseArray(baos.toString(), clazz); 
              } 
           
              @Override 
              protected void writeInternal(Object o, HttpOutputMessage outputMessage) 
              throws IOException, HttpMessageNotWritableException { 
                  String jsonString = JSON.toJSONString(o, serializerFeature); 
                  OutputStream out = outputMessage.getBody(); 
                  out.write(jsonString.getBytes(DEFAULT_CHARSET)); 
                  out.flush(); 
              } 




          SpringMVC關鍵配置:
          <mvc:annotation-driven> 
              <mvc:message-converters register-defaults="true">        
                  <!-- fastjosn spring support --> 
                  <bean id="jsonConverter" class="com.alibaba.fastjson.spring.support.MappingFastJsonHttpMessageConverter"> 
                      <property name="supportedMediaTypes" value="application/json" /> 
                      <property name="serializerFeature"> 
                          <list> 
                              <value>WriteMapNullValue</value> 
                              <value>QuoteFieldNames</value> 
                          </list> 
                      </property> 
                  </bean> 
              </mvc:message-converters> 
          </mvc:annotation-driven> 


          http://xyly624.blog.51cto.com/842520/896704
          posted on 2013-01-12 23:56 abin 閱讀(5310) 評論(1)  編輯  收藏 所屬分類: JSON

          Feedback

          # re: SpringMVC與fastjson整合并同時解決中文亂碼問題[未登錄] 2013-03-21 00:38 test
          2013-03-21 00:33:43,718 ERROR [org.springframework.web.context.ContextLoader] - Context initialization failed
          org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 102 in XML document from class path resource [beans.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-complex-type.2.1: Element 'mvc:annotation-driven' must have no character or element information item [children], because the type's content type is empty.
          at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:396)  回復  更多評論
            


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 温州市| 德化县| 洞头县| 怀化市| 潢川县| 宁陕县| 普宁市| 邯郸县| 郸城县| 犍为县| 凭祥市| 鹤庆县| 千阳县| 易门县| 铜梁县| 比如县| 辽宁省| 永定县| 平泉县| 兴隆县| 西盟| 丽江市| 新建县| 荣成市| 盘山县| 拉孜县| 宁国市| 夏河县| 福清市| 门源| 宜春市| 临泽县| 尉氏县| 大新县| 肥乡县| 昌邑市| 广汉市| 普安县| 措勤县| 阿图什市| 余江县|