类 JsonUtil
java.lang.Object
cn.sinozg.applet.common.utils.JsonUtil
json 工具类
-
字段概要
字段 -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明static com.fasterxml.jackson.databind.JavaTypegetCollectionType(Class<?> collectionClass, Class<?>... elementClasses) 获取泛型的 Collection Typestatic String获取json节点的值static Stringkey2Val(String json, List<JsonNodeInfo> infos) 获取json节点的值 可以多层获取static <T> Tmap转为 beanstatic <T> TJsonNode 转beanprivate static com.fasterxml.jackson.databind.JsonNodenodeValue(com.fasterxml.jackson.databind.JsonNode node, JsonNodeInfo info) 获取节点信息static com.fasterxml.jackson.databind.ObjectMapperom()获取对象static StringprinterJson(Object obj) 美化jsonstatic String转换为 JSON 字符串json 字符串转为mapstatic <T extends Serializable>
com.fasterxml.jackson.databind.JsonNodetoNode(T t) 对象转 JsonNodestatic <T> T转换为 JavaBeanstatic <T> TtoPojo(String json, Function<com.fasterxml.jackson.databind.ObjectMapper, com.fasterxml.jackson.databind.JavaType> function) 反序列化 嵌套泛型带参数的 示例:static <T> List<T>转换为 JavaBean 集合
-
字段详细资料
-
OM
protected static final com.fasterxml.jackson.databind.ObjectMapper OM -
log
protected static final org.slf4j.Logger log
-
-
构造器详细资料
-
JsonUtil
public JsonUtil()
-
-
方法详细资料
-
printerJson
美化json- 参数:
obj- 对象- 返回:
- 美化后的json
-
toJson
转换为 JSON 字符串- 参数:
obj- 对象- 返回:
- json
-
toMap
json 字符串转为map- 参数:
json- json- 返回:
- map
-
mapPojo
map转为 bean- 类型参数:
T- 类型- 参数:
map- mapclazz- 类型- 返回:
- bean
-
toPojo
转换为 JavaBean- 参数:
json- jsonclazz- 类型- 返回:
- 实体对象
-
toPojo
public static <T> T toPojo(String json, Function<com.fasterxml.jackson.databind.ObjectMapper, com.fasterxml.jackson.databind.JavaType> function) 反序列化 嵌套泛型带参数的 示例: bean 结构如下:
使用方式:public class IotResponse<T> private T data; public class IotPageResponse<T> private List<T> list; public class IotCardInfoResponseFunction<ObjectMapper, JavaType> f = om -> { TypeFactory factory = om.getTypeFactory(); JavaType pageType = factory.constructParametricType(IotPageResponse.class, IotCardInfoResponse.class); return factory.constructParametricType(IotResponse.class, pageType); }; IotResponse<IotPageResponse<IotCardInfoResponse>> response = JsonUtil.toPojo(json, f);- 类型参数:
T- 实体- 参数:
json- jsonfunction- 获取泛型的函数- 返回:
- 结果
-
toPojos
转换为 JavaBean 集合- 参数:
json- jsonclazz- 类型- 返回:
- 对象集合
-
nodeBean
JsonNode 转bean- 类型参数:
T- 实体对象类型- 参数:
node- nodeclazz- 类型- 返回:
- 实体
-
getCollectionType
public static com.fasterxml.jackson.databind.JavaType getCollectionType(Class<?> collectionClass, Class<?>... elementClasses) 获取泛型的 Collection Type- 参数:
collectionClass- 泛型的CollectionelementClasses- 元素类- 返回:
- JavaType Java类型
-
key2Val
获取json节点的值- 参数:
json- jsonkey- 值- 返回:
- 对应的值
-
key2Val
获取json节点的值 可以多层获取- 参数:
json- jsoninfos- 每层的信息- 返回:
- 值
-
nodeValue
private static com.fasterxml.jackson.databind.JsonNode nodeValue(com.fasterxml.jackson.databind.JsonNode node, JsonNodeInfo info) 获取节点信息- 参数:
node- 节点info- 具体信息- 返回:
- node
-
om
public static com.fasterxml.jackson.databind.ObjectMapper om()获取对象- 返回:
- 对象
-
toNode
对象转 JsonNode- 类型参数:
T- 类型- 参数:
t- 入参- 返回:
- node节点
-