public class JSONFactory extends Object
| Constructor and Description |
|---|
JSONFactory(JSONConfig config,
Predicate<MutableEntry<Object,Object>> predicate)
构造
|
| Modifier and Type | Method and Description |
|---|---|
void |
doPredicate(MutableEntry<Object,Object> entry,
Consumer<MutableEntry<Object,Object>> consumer)
执行键值对过滤,如果提供的键值对执行
Predicate.test(Object)返回false,则忽略此键值对;如果处理后返回 true表示接受,调用Consumer.accept(Object)执行逻辑。 |
JSONConfig |
getConfig()
获取配置项,始终非空
|
static JSONFactory |
getInstance()
获取单例
|
JSONMapper |
getMapper()
获取
JSONMapper,用于实现Bean和JSON的转换此方法使用双重检查锁实现懒加载模式,只有mapper被使用时才初始化 |
Predicate<MutableEntry<Object,Object>> |
getPredicate()
获取键值对过滤器
Predicate.test(Object) 返回true表示接受,false表示忽略同时 MutableEntry为可变键值对,在判断逻辑中可同时修改键和值,修改后返回trueentry中,key在JSONObject中为name,在JSONArray中为index |
static JSONFactory |
of(JSONConfig config)
创建JSON工厂
|
static JSONFactory |
of(JSONConfig config,
Predicate<MutableEntry<Object,Object>> predicate)
创建JSON工厂
|
JSONArray |
ofArray()
创建JSONArray
|
BeanPath<JSON> |
ofBeanPath(String expression)
创建BeanPath,用于使用路径方式访问或设置值
|
JSONObject |
ofObj()
创建JSONObject
|
JSONParser |
ofParser(JSONTokener tokener)
创建
JSONParser,用于JSON解析 |
JSONPrimitive |
ofPrimitive(Object value)
创建JSONPrimitive
|
JSONWriter |
ofWriter(Appendable appendable)
创建
JSONWriter,用于JSON写出 |
JSONWriter |
ofWriter(Appendable appendable,
boolean prettyPrint)
创建
JSONWriter,用于JSON写出 |
JSONWriter |
ofWriter(Appendable appendable,
int indentFactor)
创建
JSONWriter,用于JSON写出 |
JSON |
parse(Object obj)
解析对象为JSON
支持的对象: String: 转换为相应的对象 Array、Iterable、Iterator:转换为JSONArray Bean对象:转为JSONObject 注意:与 toJSON(Object)不同的是,对象如果为字符串,会被当作json字符串解析! |
JSONArray |
parseArray(Object obj)
对象转
JSONArray,支持:
JSONObject 遍历Entry,结果为:[{k1:v1}, {k2: v2}, ...] |
JSONObject |
parseObj(Object obj)
对象转
JSONObject,支持:
CharSequence,解析{...}字符串
Bean解析
Map解析
|
JSONFactory |
register(TypeAdapter typeAdapter)
注册自定义类型适配器,用于自定义对象序列化和反序列化
提供的适配器必须为实现 MatcherJSONSerializer或MatcherJSONDeserializer接口当两个接口都实现时,同时注册序列化和反序列化器 |
JSONFactory |
register(Type type,
TypeAdapter typeAdapter)
注册自定义类型适配器,用于自定义对象序列化和反序列化
|
<T> T |
toBean(JSON json,
Type type)
将JSON转换为指定类型的Bean对象
|
JSON |
toJSON(Object obj)
转换对象为JSON
支持的对象: String: 转换为 JSONPrimitive
Array、Iterable、Iterator:转换为JSONArray
Bean对象:转为JSONObject
注意;与parse(Object)不同的是,对象如果为字符串,则返回JSONPrimitive,不会做二次解析 |
public JSONFactory(JSONConfig config, Predicate<MutableEntry<Object,Object>> predicate)
config - 配置项predicate - 键值对过滤器,用于过滤掉不需要的键值对,例如:过滤掉值为null的键值对public static JSONFactory getInstance()
public static JSONFactory of(JSONConfig config)
config - JSON配置public static JSONFactory of(JSONConfig config, Predicate<MutableEntry<Object,Object>> predicate)
config - JSON配置predicate - 键值对过滤器,null表示不过滤public JSONConfig getConfig()
public Predicate<MutableEntry<Object,Object>> getPredicate()
Predicate.test(Object) 返回true表示接受,false表示忽略MutableEntry为可变键值对,在判断逻辑中可同时修改键和值,修改后返回truepublic void doPredicate(MutableEntry<Object,Object> entry, Consumer<MutableEntry<Object,Object>> consumer)
Predicate.test(Object)返回false,则忽略此键值对;true表示接受,调用Consumer.accept(Object)执行逻辑。predicate,则接受所有键值对。entry - 键值对consumer - 键值对处理逻辑,如果处理后返回true表示接受,false表示忽略public JSONMapper getMapper()
JSONMapper,用于实现Bean和JSON的转换JSONMapperpublic JSONFactory register(Type type, TypeAdapter typeAdapter)
type - 类型typeAdapter - 自定义序列化器,null表示移除public JSONFactory register(TypeAdapter typeAdapter)
MatcherJSONSerializer或MatcherJSONDeserializer接口typeAdapter - 自定义类型适配器public JSONObject ofObj()
public JSONArray ofArray()
public JSONPrimitive ofPrimitive(Object value)
value - 值,null则返回nullpublic JSONParser ofParser(JSONTokener tokener)
JSONParser,用于JSON解析tokener - JSONTokenerJSONParserpublic JSONWriter ofWriter(Appendable appendable)
JSONWriter,用于JSON写出appendable - AppendableJSONWriterpublic JSONWriter ofWriter(Appendable appendable, boolean prettyPrint)
JSONWriter,用于JSON写出appendable - AppendableprettyPrint - 是否格式化输出JSONWriterpublic JSONWriter ofWriter(Appendable appendable, int indentFactor)
JSONWriter,用于JSON写出appendable - AppendableindentFactor - 缩进因子,定义每一级别增加的缩进量,用于格式化输出JSONWriterpublic BeanPath<JSON> ofBeanPath(String expression)
expression - BeanPath表达式public JSONObject parseObj(Object obj)
JSONObject,支持:
CharSequence,解析{...}字符串obj - Bean对象或者Mappublic JSONArray parseArray(Object obj)
JSONArray,支持:
JSONObject 遍历Entry,结果为:[{k1:v1}, {k2: v2}, ...]CharSequence,解析[...]字符串obj - 数组或集合对象public JSON parse(Object obj)
toJSON(Object)不同的是,对象如果为字符串,会被当作json字符串解析!obj - 对象public JSON toJSON(Object obj)
JSONPrimitiveparse(Object)不同的是,对象如果为字符串,则返回JSONPrimitive,不会做二次解析obj - 对象public <T> T toBean(JSON json, Type type)
T - 泛型类型json - JSONtype - Bean类型,泛型对象使用TypeReferenceCopyright © 2025. All rights reserved.