fastjson的使用

1、fastjson的特色:html

1.fastjson爲alibaba提供的一個開源的json格式數據的解析轉換工具,相比於其餘諸如json-api,jackson,Gjson(google的),fastjson的解析與轉換速度是最快的,這是fastjson區別於其餘json庫的主要特徵。java

2.fastjson功能強大,徹底支持Java Bean、集合、Map、日期、Enum,支持範型,支持自省;spring

3.使用時不須要其餘依賴,只須要引入一個fastjson.jar 便可。json

2、fastjson常常使用的方法有:segmentfault

1.public static final Object parse(String text); // 把JSON文本parse爲JSONObject或者JSONArray 
2.public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject 
3.public static final T parseObject(String text, Class clazz); // 把JSON文本parse爲JavaBean 
4.public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray 
5.public static final List parseArray(String text, Class clazz); //把JSON文本parse成JavaBean集合 
6.public static final String toJSONString(Object object); // 將JavaBean序列化爲JSON文本 
7.public static final String toJSONString(Object object, boolean prettyFormat); // 將JavaBean序列化爲帶格式的JSON文本 
8.public static final Object toJSON(Object javaObject); 將JavaBean轉換爲JSONObject或者JSONArray。api

其實使用json時,無外乎就是:數組

1.Json格式字符串和Json對象之間的互轉;mvc

2.Json格式字符串和JavaBean之間的互轉(注意,這時JavaBean的屬性和Json串中的名稱要保持一致才行);app

3.Json對象和JavaBean之間的互轉;框架

JavaBean和Json數據之間轉換時,若是是json對象,就對應JavaBean普通對象,若是是json數組,就對應java中的List等集合。

以上這些應用場景fastjson提供的方法都可以知足使用。

3、json基本概念說明:

1.Json:JavaScript的對象表示法,就是使用和JavaScript同樣的語法格式定義來定義Json數據格式,因此叫JavaScript的對象表示法,其實和JavaScript並沒什麼關係。

2.Json分爲 Json對象和Json數組

Json對象:{"teacherName":"zhangsan","teacherAge":20,"students":[{"studentName":"lisi","studentAge":24},{"studentName":"zhangsan","studentAge":23}]}

Json數組:[{"studentName":"lisi","studentAge":24},{"studentName":"zhangsan","studentAge":23}]

3.Json字符串,就是Json對象和Json數組的字符串形式,上面的字符串的形式就表示爲:

Json對象類型字符串:

"{"teacherName":"zhangsan","teacherAge":20,"students":[{"studentName":"lisi","studentAge":24},{"studentName":"zhangsan","studentAge":23}]}"

Json數組類型字符串:

"[{"studentName":"lisi","studentAge":24},{"studentName":"zhangsan","studentAge":23}]" 

4.Json中序列化和反序列化的概念

序列化,就是將Json對象類型或JavaBean轉換爲Json字符串的表示形式,反序列化就是將Json字符串轉換爲Json對象或JavaBean的過程。

 4、Spring MVC中使用fastjson

<mvc:annotation-driven>
  <!--設置不使用默認的消息轉換器-->
  <mvc:message-converters register-defaults="false">
  <!--配置spring的轉換器-->
  <bean class="org.springframework.http.converter.StringHttpMessageConverter" />

  <bean class="org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter" />

  <bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter" />

  <bean class="org.springframework.http.converter.BufferedImageHttpMessageConverter" />

  <!--配置fastjson中實現HttpMessageConverter接口的轉換器-->
  <bean id="fastJsonHttpMessageConverter" class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter4" >
  <!--加入支持的媒體類型,返回contentType-->
  <property name="supportedMediaTypes">
  <list>
  <!--這裏順序不能反,必定要先寫text/html,否則IE下會出現下載提示-->
    <value>text/html;charset=UTF-8</value>
    <value>application/json;charset=UTF-8</value>
  </list>
  </property>
  </bean>
  </mvc:message-converters>
</mvc:annotation-driven>

 

參考文章:

高性能JSON框架之FastJson的簡單使用 

fastjson 的使用總結

相關文章
相關標籤/搜索