
commons.box.util.JSONs Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of commons-box-app Show documentation
Show all versions of commons-box-app Show documentation
Common utils for BOX projects.
The newest version!
package commons.box.util;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.parser.Feature;
import com.alibaba.fastjson.parser.ParserConfig;
import com.alibaba.fastjson.serializer.SerializeConfig;
import com.alibaba.fastjson.serializer.SerializerFeature;
import commons.box.app.AppError;
import commons.box.app.AppLog;
import java.util.List;
import java.util.function.BiConsumer;
/**
* JSON解析类
*
* 要使用本工具类 必须在最终构建中显式包含 fastjson
*
*
* compile("com.alibaba:fastjson:${version_fastjson}")
*
*
* TODO 增加 额外的 consumer 用于解析错误的处理过程,目前没有任何错误抛出
*
*
* 需要额外依赖 compile("com.alibaba:fastjson:${version_fastjson}")
*
创建作者:xingxiuyi
* 版权所属:xingxiuyi
*/
public final class JSONs {
private static final AppLog LOG = AppLog.get(JSONs.class);
public static SerializeConfig SERIAL_FIELD_CONFIG = new SerializeConfig(true);
public static ParserConfig PARSER_FIELD_CONFIG = new ParserConfig(true);
public static final SerializerFeature[] TO_JSON_HAS_CLS = new SerializerFeature[]{
SerializerFeature.WriteClassName,
SerializerFeature.WriteDateUseDateFormat,
SerializerFeature.WriteEnumUsingToString,
SerializerFeature.WriteNullBooleanAsFalse,
SerializerFeature.WriteNullListAsEmpty,
SerializerFeature.WriteNullNumberAsZero,
SerializerFeature.QuoteFieldNames,
SerializerFeature.SortField,
};
public static final SerializerFeature[] TO_JSON = new SerializerFeature[]{
//SerializerFeature.WriteClassName,
SerializerFeature.WriteDateUseDateFormat,
SerializerFeature.WriteEnumUsingToString,
SerializerFeature.WriteNullBooleanAsFalse,
SerializerFeature.WriteNullListAsEmpty,
SerializerFeature.WriteNullNumberAsZero,
SerializerFeature.IgnoreErrorGetter,
SerializerFeature.QuoteFieldNames,
//SerializerFeature.SortField,
};
public static final SerializerFeature[] TO_JSON_WEB = new SerializerFeature[]{
//SerializerFeature.WriteClassName,
SerializerFeature.WriteDateUseDateFormat,
SerializerFeature.WriteEnumUsingToString,
SerializerFeature.WriteNullBooleanAsFalse,
SerializerFeature.WriteNullListAsEmpty,
SerializerFeature.WriteNullNumberAsZero,
SerializerFeature.IgnoreErrorGetter,
SerializerFeature.BrowserCompatible,
SerializerFeature.QuoteFieldNames,
//SerializerFeature.SortField,
};
public static final SerializerFeature[] TO_JSON_DEBUG = new SerializerFeature[]{
//SerializerFeature.WriteClassName,
SerializerFeature.WriteDateUseDateFormat,
SerializerFeature.WriteEnumUsingToString,
SerializerFeature.WriteNullBooleanAsFalse,
SerializerFeature.WriteNullListAsEmpty,
SerializerFeature.WriteNullNumberAsZero,
SerializerFeature.IgnoreErrorGetter,
SerializerFeature.QuoteFieldNames,
//SerializerFeature.SortField,
};
public static final SerializerFeature[] TO_JSON_PRETTY = new SerializerFeature[]{
//SerializerFeature.WriteClassName,
SerializerFeature.WriteDateUseDateFormat,
SerializerFeature.WriteEnumUsingToString,
SerializerFeature.WriteNullBooleanAsFalse,
SerializerFeature.WriteNullListAsEmpty,
SerializerFeature.WriteNullNumberAsZero,
SerializerFeature.IgnoreErrorGetter,
SerializerFeature.QuoteFieldNames,
//SerializerFeature.SortField,
SerializerFeature.PrettyFormat,
};
public static final SerializerFeature[] TO_JSON_PRETTY_WEB = new SerializerFeature[]{
//SerializerFeature.WriteClassName,
SerializerFeature.WriteDateUseDateFormat,
SerializerFeature.WriteEnumUsingToString,
SerializerFeature.WriteNullBooleanAsFalse,
SerializerFeature.WriteNullListAsEmpty,
SerializerFeature.WriteNullNumberAsZero,
SerializerFeature.IgnoreErrorGetter,
SerializerFeature.QuoteFieldNames,
SerializerFeature.BrowserCompatible,
//SerializerFeature.SortField,
SerializerFeature.PrettyFormat,
};
public static final SerializerFeature[] TO_JSON_SIMPLE = new SerializerFeature[]{
SerializerFeature.WriteDateUseDateFormat,
SerializerFeature.WriteEnumUsingToString,
SerializerFeature.NotWriteDefaultValue,
SerializerFeature.BrowserCompatible,
SerializerFeature.QuoteFieldNames,
SerializerFeature.SortField,
};
public static final SerializerFeature[] TO_JSON_SIMPLE_DEBUG = new SerializerFeature[]{
SerializerFeature.WriteDateUseDateFormat,
SerializerFeature.WriteEnumUsingToString,
SerializerFeature.NotWriteDefaultValue,
SerializerFeature.QuoteFieldNames,
SerializerFeature.SortField,
};
public static final SerializerFeature[] TO_JSON_SIMPLE_WEB = new SerializerFeature[]{
SerializerFeature.WriteDateUseDateFormat,
SerializerFeature.WriteEnumUsingToString,
SerializerFeature.NotWriteDefaultValue,
SerializerFeature.BrowserCompatible,
SerializerFeature.QuoteFieldNames,
SerializerFeature.SortField,
};
public static final SerializerFeature[] TO_JSON_SIMPLE_PRETTY = new SerializerFeature[]{
SerializerFeature.WriteDateUseDateFormat,
SerializerFeature.WriteEnumUsingToString,
SerializerFeature.NotWriteDefaultValue,
SerializerFeature.QuoteFieldNames,
SerializerFeature.PrettyFormat,
SerializerFeature.SortField,
};
public static final SerializerFeature[] TO_JSON_SIMPLE_PRETTY_WEB = new SerializerFeature[]{
SerializerFeature.WriteDateUseDateFormat,
SerializerFeature.WriteEnumUsingToString,
SerializerFeature.NotWriteDefaultValue,
SerializerFeature.QuoteFieldNames,
SerializerFeature.PrettyFormat,
SerializerFeature.BrowserCompatible,
SerializerFeature.SortField,
};
public static final Feature[] FROM_JSON = new Feature[]{
Feature.AllowArbitraryCommas,
Feature.AllowComment,
Feature.AllowSingleQuotes,
Feature.AllowUnQuotedFieldNames,
Feature.AutoCloseSource,
Feature.IgnoreNotMatch,
Feature.SortFeidFastMatch,
};
public static final Feature[] FROM_JSON_NO_TRANSIENT = new Feature[]{
Feature.AllowArbitraryCommas,
Feature.AllowComment,
Feature.AllowSingleQuotes,
Feature.AllowUnQuotedFieldNames,
Feature.AutoCloseSource,
Feature.IgnoreNotMatch,
Feature.SortFeidFastMatch
};
public static final BiConsumer
© 2015 - 2025 Weber Informatics LLC | Privacy Policy