1. 程式人生 > >fastjson中SerializerFeature的用法及中文註解

fastjson中SerializerFeature的用法及中文註解

原始碼:

package com.alibaba.fastjson.serializer;
/**
 * @author wenshao<[email protected]>
 */
public enum SerializerFeature {
    QuoteFieldNames,//輸出key時是否使用雙引號,預設為true 
    /**
     * 
     */
    UseSingleQuotes,//使用單引號而不是雙引號,預設為false
    /**
     * 
     */
    WriteMapNullValue,//是否輸出值為null的欄位,預設為false 
    /**
     * 
     */
    WriteEnumUsingToString,//Enum輸出name()或者original,預設為false
    /**
     * 
     */
    UseISO8601DateFormat,//Date使用ISO8601格式輸出,預設為false
    /**
     * @since 1.1
     */
    WriteNullListAsEmpty,//List欄位如果為null,輸出為[],而非null 
    /**
     * @since 1.1
     */
    WriteNullStringAsEmpty,//字元型別欄位如果為null,輸出為"",而非null 
    /**
     * @since 1.1
     */
    WriteNullNumberAsZero,//數值欄位如果為null,輸出為0,而非null 
    /**
     * @since 1.1
     */
    WriteNullBooleanAsFalse,//Boolean欄位如果為null,輸出為false,而非null
    /**
     * @since 1.1
     */
    SkipTransientField,//如果是true,類中的Get方法對應的Field是transient,序列化時將會被忽略。預設為true
    /**
     * @since 1.1
     */
    SortField,//按欄位名稱排序後輸出。預設為false
    /**
     * @since 1.1.1
     */
    @Deprecated
    WriteTabAsSpecial,//把\t做轉義輸出,預設為false
    /**
     * @since 1.1.2
     */
    PrettyFormat,//結果是否格式化,預設為false
    /**
     * @since 1.1.2
     */
    WriteClassName,//序列化時寫入型別資訊,預設為false。反序列化是需用到

    /**
     * @since 1.1.6
     */
    DisableCircularReferenceDetect,//消除對同一物件迴圈引用的問題,預設為false

    /**
     * @since 1.1.9
     */
    WriteSlashAsSpecial,//對斜槓'/'進行轉義

    /**
     * @since 1.1.10
     */
    BrowserCompatible,//將中文都會序列化為\uXXXX格式,位元組數會多一些,但是能相容IE 6,預設為false

    /**
     * @since 1.1.14
     */
    WriteDateUseDateFormat,//全域性修改日期格式,預設為false。JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd";JSON.toJSONString(obj, SerializerFeature.WriteDateUseDateFormat);

    /**
     * @since 1.1.15
     */
    NotWriteRootClassName,//暫不知,求告知

    /**
     * @since 1.1.19
     */
    DisableCheckSpecialChar,//一個物件的字串屬性中如果有特殊字元如雙引號,將會在轉成json時帶有反斜槓轉移符。如果不需要轉義,可以使用這個屬性。預設為false 

    /**
     * @since 1.1.35
     */
    BeanToArray //暫不知,求告知
    ;

    private SerializerFeature(){
        mask = (1 << ordinal());
    }

    private final int mask;

    public final int getMask() {
        return mask;
    }

    public static boolean isEnabled(int features, SerializerFeature feature) {
        return (features & feature.getMask()) != 0;
    }

    public static int config(int features, SerializerFeature feature, boolean state) {
        if (state) {
            features |= feature.getMask();
        } else {
            features &= ~feature.getMask();
        }

        return features;
    }
}

用法:

JSONObject outParam1=new JSONObject ();

String str = JSONObject.toJSONString(outParam,SerializerFeature.WriteNullStringAsEmpty);





相關推薦

fastjsonSerializerFeature用法中文註解

原始碼: package com.alibaba.fastjson.serializer; /** * @author wenshao<[email protected]> */ public enum SerializerFeature {

FastJsonJSONObject用法常用方法總結

SON協議使用方便,越來越流行,JSON的處理器有很多,這裡我介紹一下FastJson,FastJson是阿里的開源框架,被不少企業使用,是一個極其優秀的Json框架,Github地址: FastJson FastJson對於json格式字串的解析主要用到了下面三個類: 1.JSON:f

【Java學習筆記之二十二】解析接口在Java繼承用法實例分析

ani 復制代碼 ads compute 現在 target body 常量 實現接口 一、定義 Java接口(Interface),是一系列方法的聲明,是一些方法特征的集合,一個接口只有方法的特征沒有方法的實現,因此這些方法可以在不同的地方被不同的類實現,而這些實現可以具

Android開發XRecyclerview用法遇到的一些問題

解決 pos sage head ebe 專業 剛才 adapt 只需要 目前通過xrecyclerview的開源代碼來實現系列功能,加載數據傳入type,值為1,2,3,分別表示初次加載,下拉刷新數據,上拉加載更多數據操作,刷新數據只需要重新放入數據,然後notifyDa

JavacompareTo用法原始碼解析

最近遇到一個問題,在日期比較的時候,很麻煩,因為日期比較沒有大於等於,只有大於或者小於,這就導致在比較時間的時候特別麻煩,而且還要由string轉成date格式才能比較,下面是我使用compareTo比較時間字串的程式碼: String putStartTime = Date

MysqlJoin用法優化

Join的幾種型別   笛卡爾積(交叉連線)  如果A表有n條記錄,B表有m條記錄,笛卡爾積產生的結果就會產生n*m條記錄。在MySQL中可以為CROSS JOIN或者省略CROSS即JOIN如 SELECT * FROM table1 CROSS JOIN table2&

linux export 用法環境變數

 Linux export命令用於設定或顯示環境變數。 在shell中執行程式時,shell會提供一組環境變數。export可新增,修改或刪除環境變數,供後續執行的程式使用。 一、語法如下: export [-fnp][變數名稱]=[變數設定值] 引數說明: -f  代表[

Javaforeach用法常用集合操作

foreach語句是java5的新特徵之一,在遍歷陣列、集合方面,foreach為開發人員提供了極大的方便。  foreach語句是for語句的特殊簡化版本,但是foreach語句並不能完全取代for語句,然而,任何的foreach語句都可以改寫為for語句版本。  for

C#keybd_event 用法鍵碼參照

Windows提供了一個模擬鍵盤API函式Keybd_event(),該函式能觸發一個按鍵事件,也就是說會產生一個WM_KEYDOWN或WM_KEYUP訊息。 [DllImport("user32.dll", EntryPoint = "keybd_event")] pu

Map.Entry()entryset()用法Map遍歷

Map map=new HashMap();Iterator it=map.keySet().iterator();Object key;Object value;while(it.hasNext()){key=it.next();value=map.get(key);System.out.println(k

EXCEL 自定義函式的應用(關於 XOR 在 EXCEL 用法 文字型數字求和)

EXCEL 中,能否同調用內建函式一樣在工作表中呼叫自已製作的自定義函式,出現對話方塊.同時也能做到像內建函式對話方塊裡的說明?答案是肯定的,下面舉例說明:題目: ①對文字型一系列數字進行求和(SUM()返回0)              ②對數值型的一系列數字異或操作(EX

jsp向資料庫插入資料中文亂碼問題

首先附上最剛開始的程式碼,功能是向資料庫中插入資料,資料庫中的屬性如下: <% String action = request.getParameter("action"); //表單中提交過來的資料。 if(action != null &&

Linuxyum和apt-get用法區別

記錄 auto yum安裝軟件 mirror 內核 epo 綁定 提示 們的 Linux中yum和apt-get用法及區別 一般來說著名的linux系統基本上分兩大類: 1.RedHat系列:Redhat、Centos、Fedora等 2.Debian系列:De

(轉)輕松掌握shell編程數組的常見用法示例

分享 shell編程 內容 就是 linu 迷糊 常見 /etc/ med 緣起:在老男孩進行linux培訓shell編程教學中,發現不少水平不錯的網友及同學對數組仍然很迷糊,下面就給大家分享下數組的用法小例子,希望能給大家一點幫助。其實SHELL的數組很簡單,好用。我們學

Python,While循環語句的用法註意事項

pen bubuko 縮進 .com 對比 出錯 lag spl 處的 今天跟著老師學習了While語句的用法,聽老師講的時候是聽明白了,感覺好簡單,但是自己做一遍的時候出了好多處的錯誤。我犯的錯誤都是新手常犯的,因此我覺得有必要把這次記錄下來,提醒自己也提醒跟我一樣的小白

c#this的用法作用

sys 靜態成員 mes 成員 成員方法 read 訪問 write stat 在C#中, 1. this關鍵字代表當前實例,我們可以用this.來調用當前實例的成員方法,變量,屬性,字段等; 2. 也可以用this來做為參數狀當前實例做為參

Mysqlunion和union all的用法區別

employee rom 最終 sel 推薦 china carte 區別 column UNION 用於合並兩個或多個 SELECT 語句的結果集,並消去表中任何重復行。UNION 內部的 SELECT 語句必須擁有相同數量的列,列也必須擁有相似的數據類型。同時,每條 S

Android源碼final關鍵字的用法final,finally,finalize的區別

部分 高薪 沒有 調用 內存 android應用 執行 garbage 教學 Android開發的學習流程 final,finally,finalize的區別 Android的發展越來越快,Android開發人員越來越多,當兩種情況碰撞,在諸多開發者中跟緊Android步伐

ioctl在socket的一些用法示例

ioctl在socket中的一些用法及示例 函式 : ioctl(int fd, int request, void * arg) 定義 :  功能 : 控制I/O裝置, 提供了一種獲得裝置資訊和向裝置傳送控制引數的手段. 引數 : int  fd &nb

Linuxwget、yum與apt-get用法區別

一般來說著名的linux系統基本上分兩大類: RedHat系列:Redhat、Centos、Fedora等 Debian系列:Debian、Ubuntu等 RedHat 系列  常見的安裝包格式 rpm包,安裝rpm包的命令是“rpm -引數” 包管理工具 yum 支援tar包 Deb