Appearance
JackSon配置 ¶
TIP
这个模块属于系统的必须依赖,不能被拆除
功能 ¶
- 提供
JacksonUtil
工具类,用于需要进行Jackson
解析的场合,支持泛型对象的反序列 - 提供
java8
时间序列化类,在Jackson
序列化时对JDK8
新增的时间类进行支持 - 提供
Long
类型序列化为String
类型的序列化类,处理前端长整形精度丢失问题 - 提供一个默认的
ObjectMapper
序列化配置,支持jdk8
,LongToString
等配置 - 提供
typeObjectMapper
序列化配置,记录序列化对象的类型信息 - 提供
Jackson2ObjectMapper
相关配置(Spring MVC
进行参数和结果转换),支持jdk8
,LongToString
等配置
使用说明 ¶
WARNING
系统中ObjectMapper
序列化配置主要分为两类,同时在配置文件application.yml
中对JackSon
进行的配置会失效,需要进行注意
Bean名称 | 说明 |
---|---|
objectMapper | 默认jsckson序列化配置 |
typeObjectMapper | 带序列化对象的类型信息配置,主要用在Redis、缓存场合 |
默认的是不记录对象类型的信息
json
[
{
"machine":[
"0"
],
"count":1000,
"rule":"0",
"sum":"12.000",
"type":"1"
},
{
"machine":[
"a",
35
],
"count":100,
"rule":"1",
"sum":"35.000",
"type":"0"
}
]
另一种会记录被序列化对象的类型信息,这种序列化后的json在反序列化的时候,可以直接反序列回原始的对象,redis
、缓存模块
默认的序列化方式就是基于这种进行微调,样例如下
json
[
"cn.dev33.satoken.session.SaSession",
{
"id": "AccessToken:login:session:1477997391729631232",
"createTime": "1641217240683",
"dataMap": [
"java.util.concurrent.ConcurrentHashMap",
{
"user": [
"cn.bootx.common.core.entity.UserDetail",
{
"id": "1477997391729631232",
"name": "测试用户002",
"username": "test002",
"admin": false,
"status": 1
}
]
}
],
"tokenSignList": [
"java.util.Vector",
[
[
"cn.dev33.satoken.session.TokenSign",
{
"value": "d8cb26ce-53ef-46ce-85f2-b80be6e1fcc9",
"device": "pc"
}
]
]
],
"timeout": "216000000"
}
]