- ObjectMapper
- 配置方法(链式调用)
方法 | 描述 |
---|---|
registerModule(Module module) | 注册模块 |
registerModules(Module… modules) | 注册多个模块 |
findAndRegisterModules() | 查找并注册模块 |
setSerializerFactory(SerializerFactory f) | 设置序列化工厂 |
setSerializerProvider(DefaultSerializerProvider p) | 设置序列化提供者 |
setMixIns(Map<Class<?>, Class<?>> mixins) | 设置混合类型 |
addMixIn(Class<?> target, Class<?> mixinSource) | 添加混合类型 |
setMixInResolver(MixInResolver resolver) | 设置混合解析器 |
setVisibility(VisibilityChecker<?> vc) | 设置可见性 |
setSubtypeResolver(SubtypeResolver str) | 设置子类型解析器 |
setAnnotationIntrospector(AnnotationIntrospector ai) | 设置公共注释内省者 |
setAnnotationIntrospectors(AnnotationIntrospector s, AnnotationIntrospector d) | 设置序列化与反序列化注释内省者 |
setPropertyNamingStrategy(PropertyNamingStrategy s) | 设置属性命名策略 |
setDefaultPrettyPrinter(PrettyPrinter pp) | 设置输出格式 |
setSerializationInclusion(Include incl) | 设置序列化包含字段 |
setDefaultPropertyInclusion(Value incl) | 设置默认字段包含字段 |
setDefaultSetterInfo(Value v) | 设置默认设置信息 |
setDefaultVisibility(Value vis) | 设置默认可见性 |
setDefaultMergeable(Boolean b) | 设置默认可合并 |
enableDefaultTyping(ObjectMapper.DefaultTyping a, As includeAs) | 启用默认类型 |
enableDefaultTypingAsProperty(ObjectMapper.DefaultTyping a, String propertyName) | 启用字段默认类型 |
disableDefaultTyping() | 禁用默认类型 |
setDefaultTyping(TypeResolverBuilder<?> typer) | 设置默认类型 |
setTypeFactory(TypeFactory f) | 设置类型工厂 |
setNodeFactory(JsonNodeFactory f) | 设置节点工厂 |
addHandler(DeserializationProblemHandler h) | 添加处理器 |
clearProblemHandlers() | 清除处理器 |
setConfig(DeserializationConfig config) | 设置配置 |
setFilterProvider(FilterProvider filterProvider) | 设置过滤提供者 |
setBase64Variant(Base64Variant v) | 设置Base64变体 |
setDateFormat(DateFormat dateFormat) | 设置日期格式 |
setHandlerInstantiator(HandlerInstantiator hi) | 设置处理程序实例化器 |
setInjectableValues(InjectableValues injectableValues) | 设置可注射值 |
setLocale(Locale l) | 设置语言环境 |
setTimeZone(TimeZone tz) | 设置时区 |
configure(MapperFeature f, boolean state) | 设置配置 |
enable(MapperFeature… f) | 启用配置 |
disable(MapperFeature… f) | 禁用配置 |
- 操作方法
方法 | 描述 |
---|---|
copy() | 复制有个对象 |
version() | 获取版本信息 |
getSerializationConfig() | 获取序列化配置 |
getDeserializationConfig() | 获取反序列化配置 |
getDeserializationContext() | 获取反序列化上下文 |
mixInCount() | 获取混合类型数量 |
getSerializerProviderInstance() | 获取序列化提供者实例 |
getVisibilityChecker() | 获取可见性检查器 |
findMixInClassFor(Class<?> cls) | 查找混合类型类 |
getSubtypeResolver() | 获取子类型解析器 |
registerSubtypes(Class<?>… classes) | 注册子类型 |
configOverride(Class<?> type) | 配置覆盖 |
getTypeFactory() | 获取类型工厂 |
constructType(Type t) | 获取构造类型 |
getNodeFactory() | 获取节点工厂 |
getFactory() | 获取工厂 |
getDateFormat() | 获取日期类型 |
getInjectableValues() | 获取可注射值 |
isEnabled(MapperFeature f) | 判断配置是否启用 |
readValue(String content, Class valueType) | 读取json; 可读取以下类型: json字符串(String), 字符流(Reader), 字节流(InputStream), json解析器(JsonParser), 字节数组(byte[]) 文件(File), 地址(URL), 数据(DataInput) 可设置返回的类型: Class, TypeReference, ResolvedType |
readValues(JsonParser p, Class valueType) | 读取多值,获得映射迭代器 |
readTree(String content) | 读取树,读取类型同readValue |
writeValue(JsonGenerator g, Object value) | 写出值,可写入以下参数: JsonGenerator,File,OutputStream DataOutput,Writer |
writeTree(JsonGenerator jgen, TreeNode root) | 写出树 |
createObjectNode() | 创建一个节点对象 |
createArrayNode() | 创建一个节点数组 |
treeAsTokens(TreeNode n) | 树作为令牌 |
treeToValue(TreeNode n, Class valueType) | 树转值 |
valueToTree(Object fromValue) | 值转树 |
canSerialize(Class<?> type) | 判断是否可序列化 |
canDeserialize(JavaType type) | 判断是否可反序列化 |
writeValueAsString(Object value) | 写入值到字符串 |
writeValueAsBytes(Object value) | 写入值到字符数组 |
writer() | 获取写入对象 |
writerWithView(Class<?> serializationView) | 获取带视图写入对象 |
writerFor(Class<?> rootType) | 获取写入对象 |
writerWithDefaultPrettyPrinter() | json字符串格式化 |
reader() | 获取读取对象 |
readerForUpdating(Object valueToUpdate) | 获取用于更新的读取对象 |
readerFor(JavaType type) | 获取读取对象 |
readerWithView(Class<?> view) | 获取带视图读取对象 |
convertValue(Object fromValue, Class type) | 转换值 |
updateValue(T valueToUpdate, Object overrides) | 更新值 |
acceptJsonFormatVisitor(Class<?> type, JsonFormatVisitorWrapper visitor) | 接受Json格式访问者 |
- 静态方法
方法 | 描述 |
---|---|
findModules(ClassLoader classLoader) | 获取的模块 |
-
常量
-
SerializationFeature
通过ObjectMapper对象configure/enable/disable方法设置
常量 描述 WRAP_ROOT_VALUE 是否以类名为根节点,默认false INDENT_OUTPUT 是否缩放排列输出,默认false FAIL_ON_EMPTY_BEANS 空失败 FAIL_ON_SELF_REFERENCES 自引用失败 WRAP_EXCEPTIONS 包装异常 FAIL_ON_UNWRAPPED_TYPE_IDENTIFIERS 未包装的类型标识符失败 CLOSE_CLOSEABLE 关闭 FLUSH_AFTER_WRITE_VALUE 写入值后刷新 WRITE_DATES_AS_TIMESTAMPS 序列化Date日期时以时间戳输出,默认true;为false时以 2020-09-16T01:07:23.275+0000 格式输出 WRITE_DATE_KEYS_AS_TIMESTAMPS 将日期键写入时间戳 WRITE_DATES_WITH_ZONE_ID 将区域id写入日期 WRITE_DURATIONS_AS_TIMESTAMPS 将持续时间写成时间戳 WRITE_CHAR_ARRAYS_AS_JSON_ARRAYS 序列化char[]时以json数组输出,默认false WRITE_ENUMS_USING_TO_STRING 序列化枚举是否以toString()来输出,
默认false,即默认以name()来输出WRITE_ENUMS_USING_INDEX 序列化枚举是否以ordinal()来输出,默认false WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED 开启,默认false WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS 将日期时间戳记写入毫微秒 ORDER_MAP_ENTRIES_BY_KEYS 序列化Map时对key进行排序操作,默认false EAGER_SERIALIZER_FETCH 急序列化器获取 USE_EQUALITY_FOR_OBJECT_ID 对对象ID使用平等 -
DeserializationFeature
通过ObjectMapper对象configure/enable/disable方法设置
常量 描述 USE_BIG_DECIMAL_FOR_FLOATS 浮点类型使用BigDecimal,默认false USE_BIG_INTEGER_FOR_INTS int类型使用BigInteger,默认false USE_LONG_FOR_INTS int类型使用long,默认false USE_JAVA_ARRAY_FOR_JSON_ARRAY json序列使用java序列,默认false FAIL_ON_UNKNOWN_PROPERTIES 为false忽略未知属性失败,默认为true FAIL_ON_NULL_FOR_PRIMITIVES 主键为空失败 FAIL_ON_NUMBERS_FOR_ENUMS 数字枚举失败 FAIL_ON_INVALID_SUBTYPE 无效的子类型失败 FAIL_ON_READING_DUP_TREE_KEY 读取双树树密钥失败 FAIL_ON_IGNORED_PROPERTIES 被忽略的属性失败 FAIL_ON_UNRESOLVED_OBJECT_IDS 未能解决的对象ID失败 FAIL_ON_MISSING_CREATOR_PROPERTIES 缺少创作者属性失败 FAIL_ON_NULL_CREATOR_PROPERTIES 空创建者属性失败 FAIL_ON_MISSING_EXTERNAL_TYPE_ID_PROPERTY 缺少外部类型ID属性失败 FAIL_ON_TRAILING_TOKENS 交易令牌失败 WRAP_EXCEPTIONS 报错异常 ACCEPT_SINGLE_VALUE_AS_ARRAY 单值可转换为集合数组,默认false UNWRAP_SINGLE_VALUE_ARRAYS 取消单值数组,默认false UNWRAP_ROOT_VALUE 解析根节点为类名的json,默认false ACCEPT_EMPTY_STRING_AS_NULL_OBJECT 接受空字符串作为空对象,默认false ACCEPT_EMPTY_ARRAY_AS_NULL_OBJECT 接受空数组作为空对象,默认false ACCEPT_FLOAT_AS_INT 接受float类型为int,默认true READ_ENUMS_USING_TO_STRING 使用字符串读取枚举,默认false READ_UNKNOWN_ENUM_VALUES_AS_NULL 将未知的枚举值读取为NULL,默认false READ_UNKNOWN_ENUM_VALUES_USING_DEFAULT_VALUE 使用默认值读取未知的枚举值,默认false READ_DATE_TIMESTAMPS_AS_NANOSECONDS 读取日期时间戳记,默认true ADJUST_DATES_TO_CONTEXT_TIME_ZONE 调整日期到时区,默认true EAGER_DESERIALIZER_FETCH EAGER反序列化器 -
JsonInclude.Include
通过@JsonInclude的value属性设置
常量 描述 ALWAYS 默认,序列化所有属性 NON_NULL 属性为NULL 不序列化 NON_ABSENT 同 NON_NULL NON_EMPTY 属性为 空字符串或 NULL 都不序列化 NON_DEFAULT 属性为默认值不序列化 CUSTOM 定制 USE_DEFAULTS 序列化默认值 -
JsonParser.Feature
通过ObjectMapper对象enable/disable方法
常量 描述 AUTO_CLOSE_SOURCE 解析json自动关闭输入源,默认true ALLOW_COMMENTS 解析json许解析使用Java/C++ 样式的注释,默认false ALLOW_YAML_COMMENTS 解析json许解析使用YAML 样式的注释,默认false ALLOW_UNQUOTED_FIELD_NAMES 解析json允许使用非双引号属性名字,默认false ALLOW_SINGLE_QUOTES 解析json允许单引号来包住属性名称和字符串值,默认false STRICT_DUPLICATE_DETECTION 解析json严格重复校验,有重复字段抛异常,默认false IGNORE_UNDEFINED 忽略未定义 INCLUDE_SOURCE_IN_LOCATION 在位置包含来源 -
JsonParser.NumberType
常量 描述 INT int类型 LONG long类型 BIG_INTEGER BigInteger类型 FLOAT float类型 DOUBLE Double类型 BIG_DECIMAL BigDecimal类型 -
JsonGenerator.Feature
通过ObjectMapper对象configure/enable/disable方法设置
常量 描述 AUTO_CLOSE_TARGET 自动关闭目标 AUTO_CLOSE_JSON_CONTENT 自动关闭JSON内容 FLUSH_PASSED_TO_STREAM 刷新流 WRITE_BIGDECIMAL_AS_PLAIN bigdecimal类型写入 STRICT_DUPLICATE_DETECTION 严格重复校验 IGNORE_UNKNOWN 忽略未定义 -
MapperFeature
通过ObjectMapper对象configure/enable/disable方法设置常量 描述 USE_ANNOTATIONS 使用注解,默认true USE_GETTERS_AS_SETTERS 使用get与set方法,默认true PROPAGATE_TRANSIENT_MARKER 忽略 transient 修饰的属性,默认false AUTO_DETECT_CREATORS 自动检测创建者 AUTO_DETECT_FIELDS 自动检测字段 AUTO_DETECT_GETTERS 自动检测getter方法 AUTO_DETECT_IS_GETTERS 自动检测是否是getter方法 AUTO_DETECT_SETTERS 自动检测setter方法 REQUIRE_SETTERS_FOR_GETTERS 需要使用get与set方法,默认false ALLOW_FINAL_FIELDS_AS_MUTATORS 允许final修饰字段可修改,默认true INFER_PROPERTY_MUTATORS 推断字段可修改,默认true INFER_CREATOR_FROM_CONSTRUCTOR_PROPERTIES 从构造函数属性推断创建者,默认true CAN_OVERRIDE_ACCESS_MODIFIERS 可以覆盖访问修饰符,默认true OVERRIDE_PUBLIC_ACCESS_MODIFIERS 覆盖公共访问修饰符,默认true USE_STATIC_TYPING 使用静态类型,默认false DEFAULT_VIEW_INCLUSION 默认包含视图,默认true SORT_PROPERTIES_ALPHABETICALLY 按字母排序,默认false ACCEPT_CASE_INSENSITIVE_PROPERTIES 接受字段命名不敏感,默认false ACCEPT_CASE_INSENSITIVE_ENUMS 接受枚举命名不敏感,默认false USE_WRAPPER_NAME_AS_PROPERTY_NAME 使用包装器名称作为属性名称,默认false USE_STD_BEAN_NAMING 使用标准Bean命名法,默认false ALLOW_EXPLICIT_PROPERTY_RENAMING 允许显式属性重命名,默认false ALLOW_COERCION_OF_SCALARS 允许强制标量,默认true IGNORE_DUPLICATE_MODULE_REGISTRATIONS 忽略重复的模块注册,默认true IGNORE_MERGE_FOR_UNMERGEABLE 忽略合并为不可合并,默认true -
JsonFactory.Feature
常量 描述 INTERN_FIELD_NAMES 内部字段名,默认true CANONICALIZE_FIELD_NAMES 规范字段名,默认true FAIL_ON_SYMBOL_HASH_OVERFLOW 哈希溢出失败,默认true USE_THREAD_LOCAL_FOR_BUFFER_RECYCLING 使用本地线程进行缓冲区回收,默认true -
PropertyNamingStrategy
通过ObjectMapper对象setPropertyNamingStrategy方法设置
常量 描述 SNAKE_CASE 蛇形命名法,例如:abc_def UPPER_CAMEL_CASE 大驼峰命名法,例如:AbcDef LOWER_CAMEL_CASE 小驼峰命名法,例如:abcDef LOWER_CASE 全小写命名法,例如:abcdef KEBAB_CASE Lisp风格命名法,例如:abc-def -
JsonAutoDetect.Visibility
在@JsonAutoDetect中配置
常量 描述 ANY 自动发现所有修饰符的属性 NON_PRIVATE 自动发现除被private修饰以外的属性;当字段及get/set方法被private修饰时,则该字段不被自动发现 PROTECTED_AND_PUBLIC 自动发现protected与public修饰的属性 PUBLIC_ONLY 仅自动被public修饰的属性 NONE 指禁止发现所有的属性,但是对getter/setter方法无效 DEFAULT 默认,同PUBLIC_ONLY -
JsonProperty.Access (字段权限常量)
在@JsonProperty的属性access配置
常量 描述 AUTO 自动 READ_ONLY 只读 WRITE_ONLY 只写 READ_WRITE 可读写 -
JsonSerialize.Typing
常量 描述 DYNAMIC 动态 STATIC 静态 DEFAULT_TYPING 默认 -
JsonTypeInfo.Id
常量 描述 NONE 不使用识别码 CLASS 使用完全限定类名做识别 MINIMAL_CLASS 若基类和子类在同一包类,使用类名(忽略包名)作为识别码 NAME 一个合乎逻辑的指定名称 CUSTOM 自定义识别码,由 @JsonTypeIdResolver
对应 -
JsonTypeInfo.As
常量 描述 PROPERTY 作为数据的兄弟属性 WRAPPER_OBJECT 作为一个包装的对象 WRAPPER_ARRAY 作为一个包装的数组 EXTERNAL_PROPERTY 作为扩展属性 EXISTING_PROPERTY 作为POJO中已经存在的属性 -
1
-
-
常用注解
注解 描述(常用属性) @JsonIgnore 忽略字段,字段,get与set方法上
value:默认为true,为false不忽略@JsonIgnoreProperties 忽略字段,类上
value: 数组,指定要忽略的字段
ignoreUnknown:默认false,忽略不知道字段
allowGetters: 默认false,允许从get方法获取值
allowSetters():默认false,允许set方法设置值@JsonIgnoreType 该类作为别的类的属性时,该属性忽略序列化和反序列化。
value:默认为true,为false不忽略@JsonProperty json字段
value:指定json字段
access:指定权限,@JsonInclude 指定排除某些字段;字段,类,参数,set与get方法上
value:指定不显示某类字段
valueFilter:自定义字段排除;value设为CUSTOM,valueFilter为一个重写equals的类,返回true的排除@JsonAlias 别名,只在反序列化生效;字段,方法,参数上
value:生成的json字段@JsonDeserialize 指定自定义反序列化器;字段,方法,参数上
using:指定自定义反序列化器@JsonSerialize 指定自定义序列化器;字段,方法,参数上
using:指定自定义序列化器@JsonMerge @JsonFilter 指定使用所添加的过滤器;字段,方法,参数上
value:过滤器名@JsonAutoDetect 自动检测配置;类上
fieldVisibility:字段自动检测配置@JsonFormat json格式配置;字段,方法,参数上
pattern: 配置日期格式,yyyy-MM-dd HH:mm:ss
timezone: 配置时区,GMT+8@JsonUnwrapped 对象扁平化配置,字段,方法,参数上
enabled:启用配置,默认true
prefix: 字段添加的前缀
suffix:字段添加的后缀@JsonView 同对象可配置Controller返回不同字段的json,
value:对象内部接口类,标记的作用。
在对象字段方法上用该注解表明展示那些字段,在Controller中再用该字段表明使用哪组字段,内部接口类可实现继承关系@JsonClassDescription 类描述 @JsonPropertyDescription 字段描述 @JacksonInject json默认值注入配置,字段,方法,参数上
value:用于InjectableValues配置的标识@JsonAnySetter 获取反序列时未匹配上的字段,作用在set方法上
enabled:启用状态,默认为true@JsonAnyGetter 获取反序列时未匹配上的字段,作用在get方法上
enabled:启用状态,默认为true@JsonCreator 指定反序列化时用的构造函数,默认采用无参构造
反序列化时没有无参构造会报错,需用该注解指定构造方法,并@JsonProperty指明个参数@JsonSetter 指定反序列化字段名,set方法上
value:指定字段名@JsonGetter 指定序列化字段名,get方法上
value:指定字段名@JsonEnumDefaultValue 设置枚举默认值 @JsonPropertyOrder 序列化时字段排序,类上
value:字段顺序数组,未配字段排在后面@JsonRawValue 可用于按原样序列化属性;方法,字段上
value:默认为true,为false不生效
为true时,json格式字段按json格式处理@JsonValue json值,一个类只能有一个,序列化直接返回该值;方法,字段上
value:默认为true,为false不生效@JsonRootName 当配置带根目录序列化及反序列化时配置根节点;类上
value:根节点名称@JsonTypeInfo 作用于父类/接口,被用来开启多态类型处理,对基类/接口和子类/实现类都有效
use:定义使用哪一种类型识别码
include(可选):指定识别码是如何被包含进去的
property(可选):制定识别码的属性名称defaultImpl
(可选):如果类型识别码不存在或者无效,可以使用该属性来制定反序列化时默认类型
visible(可选,默认为false):是否可见@JsonSubTypes 作用于父类/接口,用来列出给定类的子类,只有当子类类型无法被检测到时才会使用它,一般是配合@JsonTypeInfo在基类上使用
value: 指定子类@JsonTypeName 作用于子类,用来为多态子类指定类型标识符的值,
value: 子类指定类型标识符,对应JsonSubTypes.Type的name属性@JsonTypeIdResolver 配置类型id解析器,当JsonTypeInfo属性use为JsonTypeInfo.Id.CUSTOM时使用
value: 解析器@JsonTypeId 字段上标记为类型识别码 @JsonManagedReference 解决双向引用导致的无限递归问题,字段上
标注在循环引用要序列化的字段上@JsonBackReference 解决双向引用导致的无限递归问题,字段上
标注在循环引用要忽略的字段上@JsonIdentityReference 用来解决循环嵌套的问题
alwaysAsId: 始终按id,默认为false@JsonIdentityInfo 用来解决循环嵌套的问题,为每个对象添加一个唯一标识,默认字段为@id,可通过property修改
generator: 对象id生成器
property 唯一标识字段 -
常用接口实现类及抽象类子类
-
FilterProvider
可通过ObjectMapper的setFilterProvider方法设置
- SimpleFilterProvider
方法 描述 addFilter(String id, PropertyFilter filter) 添加过滤器,id用来匹配实体上
@JsonFilter注解value属性,
不同实体采用不同过滤器removeFilter(String id) 移除过滤器 setDefaultFilter(PropertyFilter f) 设置默认过滤器,实体没配@JsonFilter时使用该过滤器 setFailOnUnknownId(boolean state) 设置未知id是否失败 -
PropertyFilter
- SimpleBeanPropertyFilter
方法 描述 serializeAll() 序列化全部 filterOutAllExcept(String… propertyArray) 指定要序列化的字段,参数可为set serializeAllExcept(String… propertyArray) 指定不要序列化的字段,参数可为set from(BeanPropertyFilter src) 从另一个过滤器获取 -
InjectableValues
可通过ObjectMapper的setInjectableValues方法设置
- Std
方法 描述 addValue(String key, Object value) 与@JacksonInject同用.用于通过key为反序列化json为定义的字段注入默认值 -
ObjectIdGenerator 对象id生成器
实现类 描述 StringIdGenerator 字符串id生成器 UUIDGenerator UUID生成器 IntSequenceGenerator 有序数列生成器 PropertyBasedObjectIdGenerator 基础字段id生成器 -
Module
-
Jdk8Module 支持jdk8日期类型
-
SimpleModule 可用于自定义模块
方法 描述 addSerializer(Class<? extends T> type,
JsonSerializer ser)添加某种数据类型的序列化器 addDeserializer(Class type,
JsonDeserializer<? extends T> deser)添加某种数据类型的反序列化器 setSerializers(SimpleSerializers s) 添加多组序列化器 setDeserializers(SimpleDeserializers d) 添加多组反序列化器 -
JavaTimeModule SimpleModule子类,处理不同的时区偏移格式
-
ParameterNamesModule SimpleModule子类,参数名称模块
-
JsonComponentModule SimpleModule子类json组件称模块
-
-
-
实例
- 简单使用
List<Person> list =new ArrayList(); Person person = new Person(); person.setName("zp"); list.add(person); String jsonString = mapper.writeValueAsString(list); System.out.println(jsonString); List<Person> list1 = mapper.readValue(jsonString, new TypeReference<List<Person>>() {});//json转list Person person1 = mapper.readValue(jsonString,Person.class);//json转JavaBean
- 泛型使用示例
//list泛型 CollectionType JavaType = mapper.getTypeFactory().constructCollectionType(List.class, Person.class); List<Person> personList = mapper.readValue(JSONInString, JavaType); List<Person> personList = mapper.readValue(JSONInString, new TypeReference<List<Person>>(){}); //map泛型 MapType JavaType = mapper.getTypeFactory().constructMapType(HashMap.class,String.class,Person.class); Map<String, Person> personMap = mapper.readValue(JSONInString,JavaType); Map<String, Person> personMap = mapper.readValue(JSONInString, new TypeReference<Map<String, Person>>() {});
- 自定义序列化器
public class DateJsonSerializer extends JsonSerializer<Date> { public static final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @Override public void serialize(Date date, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { jsonGenerator.writeString(format.format(date)); } }
- 自定义反序列化
public class DateJsonDeserializer extends JsonDeserializer<Date> { public static final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @Override public Date deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) { try { if (jsonParser != null && jsonParser.getText() != null) { return format.parse(jsonParser.getText()); } else { return null; } } catch (Exception e) { throw new RuntimeException(e); } } }
- 反序列化未定义字段采用map接收
//实体类新增map字段 private Map<String,Object> other = new HashMap<>(); //新增以下get/set方法 @JsonAnyGetter public Map<String, Object> getOther() { return other; } @JsonAnySetter public void setOther(Map<String,Object> map) { this.other =m6ap; }
-
其他