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 为可变键值对,在判断逻辑中可同时修改键和值,修改后返回true entry中,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
为可变键值对,在判断逻辑中可同时修改键和值,修改后返回true
public 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的转换JSONMapper
public 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
则返回null
public JSONParser ofParser(JSONTokener tokener)
JSONParser
,用于JSON解析tokener
- JSONTokener
JSONParser
public JSONWriter ofWriter(Appendable appendable)
JSONWriter
,用于JSON写出appendable
- Appendable
JSONWriter
public JSONWriter ofWriter(Appendable appendable, boolean prettyPrint)
JSONWriter
,用于JSON写出appendable
- Appendable
prettyPrint
- 是否格式化输出JSONWriter
public JSONWriter ofWriter(Appendable appendable, int indentFactor)
JSONWriter
,用于JSON写出appendable
- Appendable
indentFactor
- 缩进因子,定义每一级别增加的缩进量,用于格式化输出JSONWriter
public 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)
JSONPrimitive
parse(Object)
不同的是,对象如果为字符串,则返回JSONPrimitive
,不会做二次解析obj
- 对象public <T> T toBean(JSON json, Type type)
T
- 泛型类型json
- JSONtype
- Bean类型,泛型对象使用TypeReference
Copyright © 2025. All rights reserved.