1. 程式人生 > >SpringMVC整合FastJson及簡單使用

SpringMVC整合FastJson及簡單使用

1.FastJson介紹

     Fastjson是阿里巴巴的一個Java語言編寫的高效能功能完善的JSON庫。

     特性:

  • 在伺服器端和android客戶端提供最佳效能
  • 提供簡單toJSONString()和parseObject()方法的Java物件轉換為JSON,反之亦然
  • 允許存在的無法改變的物件轉換為從JSON
  • Java泛型的廣泛支援
  • 允許自定義表示物件
  • 支援任意複雜的物件(深繼承層次結構和廣泛使用泛型型別)

     主要特點:

  • 快速FAST (比其它任何基於Java的解析器和生成器更快,包括jackson)

  • 強大(支援普通JDK類包括任意Java Bean Class、Collection、Map、Date或enum)

  • 零依賴(沒有依賴其它任何類庫除了JDK)

  • 支援註解

     以上摘錄自:http://blog.csdn.net/vbirdbest/article/details/72472149

2.springmvc整合FastJson

  1. 在springmvc的xml配置檔案中,填入如下配置。
    <mvc:annotation-driven>
        <mvc:message-converters>
            <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"/>      
        </mvc:message-converters>
    </mvc:annotation-driven>
  2. 通常預設配置已經可以滿足大部分使用場景,如果你想對它進行自定義配置的話,你可以新增 FastJsonConfig Bean。
    <mvc:annotation-driven>
        <mvc:message-converters>
            <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
                <property name="fastJsonConfig" ref="fastJsonConfig"/>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>
    
    <bean id="fastJsonConfig" class="com.alibaba.fastjson.support.config.FastJsonConfig">
        <!--   自定義配置...   -->
    </bean>

3.Fastjson的使用

      Fastjson的對json的解析不是自動的,需要手動呼叫方法進行轉換。

  1. FastJson API

    // 把JSON文字parse為JSONObject或者JSONArray 
    public static final Object parse(String text); 
    
    // 把JSON文字parse成JSONObject    
    public static final JSONObject parseObject(String text); 
    
    // 把JSON文字parse為JavaBean 
    public static final <T> T parseObject(String text, Class<T> clazz); 
    
    // 把JSON文字parse成JSONArray 
    public static final JSONArray parseArray(String text); 
    
    // 把JSON文字parse成JavaBean集合 
    public static final <T> List<T> parseArray(String text, Class<T> clazz); 
    
    // 將JavaBean序列化為JSON文字 
    public static final String toJSONString(Object object); 
    
    // 將JavaBean序列化為帶格式的JSON文字 
    public static final String toJSONString(Object object, boolean prettyFormat); 
    
    // 將JavaBean轉換為JSONObject或者JSONArray
    public static final Object toJSON(Object javaObject); 
    
  2. FastJson註解:

             用得最多的就是@JsonField註解,其它的我目前還不知道

             給出示例:

           
      public class Person {  
          @JSONField(name="name")  //也可以寫在getter和setter方法上,網上說寫在方法上更符合預期。
          private String name;  
      
          @JSONField(name="age")  
          private String age;  
      
          @JSONField(name="desc")  
          private String desc; 


         @JSONField(serialize=false) //在序列化的時候就不包含這個欄位了。deserialize與之相反
         private Long ProjectID