对象转json字符串,附带SerializerFeature属性说明

 

对象转JSON字符串

/**
 * 将对象转换为json格式的字符串
 * 
 * @param obj
 * @return String
 */
public static String obj2json(Object obj) {
  String json = "";
    try {
      json = JSONObject.toJSONString(obj, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullStringAsEmpty, SerializerFeature.DisableCircularReferenceDetect);
    } catch (Exception e) {
      e.printStackTrace();
      return "";
    }
    return json;
}

 

 

附带SerializerFeature说明

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.7</version>
        </dependency>

SerializerFeature属性

名称json

含义spa

备注code

QuoteFieldNamesorm

 输出key时是否使用双引号,默认为true对象

 

UseSingleQuotesblog

使用单引号而不是双引号,默认为false排序

 

WriteMapNullValueip

是否输出值为null的字段,默认为falseci

 

WriteEnumUsingToString字符串

Enum输出name()或者original,默认为false

 

UseISO8601DateFormat

Date使用ISO8601格式输出,默认为false

 

WriteNullListAsEmpty

List字段若是为null,输出为[],而非null

 

WriteNullStringAsEmpty

字符类型字段若是为null,输出为”“,而非null

 

WriteNullNumberAsZero

数值字段若是为null,输出为0,而非null

 

WriteNullBooleanAsFalse

Boolean字段若是为null,输出为false,而非null

 

SkipTransientField

若是是true,类中的Get方法对应的Field是transient,序列化时将会被忽略。默认为true

 

SortField

按字段名称排序后输出。默认为false

 

WriteTabAsSpecial

把\t作转义输出,默认为false

不推荐

PrettyFormat

结果是否格式化,默认为false

 

WriteClassName

序列化时写入类型信息,默认为false。反序列化是需用到

 

DisableCircularReferenceDetect

消除对同一对象循环引用的问题,默认为false

 

WriteSlashAsSpecial

对斜杠’/’进行转义

 

BrowserCompatible

将中文都会序列化为\uXXXX格式,字节数会多一些,可是能兼容IE 6,默认为false

 

WriteDateUseDateFormat

全局修改日期格式,默认为false。JSON.DEFFAULT_DATE_FORMAT = “yyyy-MM-dd”;JSON.toJSONString(obj, SerializerFeature.WriteDateUseDateFormat);

 

DisableCheckSpecialChar

一个对象的字符串属性中若是有特殊字符如双引号,将会在转成json时带有反斜杠转移符。若是不须要转义,可使用这个属性。默认为false

 

NotWriteRootClassName

含义

 

BeanToArray

将对象转为array输出

 

WriteNonStringKeyAsString

含义

 

NotWriteDefaultValue

含义

 

BrowserSecure

含义

 

IgnoreNonFieldGetter

含义

 

WriteEnumUsingName

含义

相关文章
相关标签/搜索