diff --git a/kafka-plus-jackson/pom.xml b/kafka-plus-jackson/pom.xml
new file mode 100644
index 0000000..e724ee7
--- /dev/null
+++ b/kafka-plus-jackson/pom.xml
@@ -0,0 +1,40 @@
+
+
+
+ 4.0.0
+
+
+ io.github.photowey
+ kafka-plus
+ 3.7.0.1.0-SNAPSHOT
+
+
+ kafka-plus-jackson
+
+ ${project.groupId}:${project.artifactId}
+ The jackson core module of project kafka-plus
+
+
+
+
+
+
+
+
+ org.apache.kafka
+ kafka-clients
+
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+
+
+
+ com.fasterxml.jackson.datatype
+ jackson-datatype-jsr310
+
+
+
+
\ No newline at end of file
diff --git a/kafka-plus-jackson/src/main/java/io/github/photowey/kafka/plus/core/jackson/serialization/ApplyObjectMapper.java b/kafka-plus-jackson/src/main/java/io/github/photowey/kafka/plus/core/jackson/serialization/ApplyObjectMapper.java
new file mode 100644
index 0000000..ebd60b7
--- /dev/null
+++ b/kafka-plus-jackson/src/main/java/io/github/photowey/kafka/plus/core/jackson/serialization/ApplyObjectMapper.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright © 2024 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package io.github.photowey.kafka.plus.core.jackson.serialization;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+
+/**
+ * {@code ApplyObjectMapper}
+ *
+ * @author photowey
+ * @date 2024/04/06
+ * @since 1.0.0
+ */
+public interface ApplyObjectMapper {
+
+ default ObjectMapper initObjectMapper() {
+ ObjectMapper objectMapper = new ObjectMapper();
+ this.applyObjectMapper(objectMapper);
+
+ return objectMapper;
+ }
+
+ default void applyObjectMapper(ObjectMapper objectMapper) {
+ objectMapper
+ .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
+ .configure(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT, true)
+ .configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false)
+ .disable(SerializationFeature.FAIL_ON_EMPTY_BEANS)
+ .setSerializationInclusion(JsonInclude.Include.NON_NULL)
+ .registerModule(new JavaTimeModule());
+ }
+}
diff --git a/kafka-plus-jackson/src/main/java/io/github/photowey/kafka/plus/core/jackson/serialization/deserializer/JacksonDeserializer.java b/kafka-plus-jackson/src/main/java/io/github/photowey/kafka/plus/core/jackson/serialization/deserializer/JacksonDeserializer.java
new file mode 100644
index 0000000..2d9d515
--- /dev/null
+++ b/kafka-plus-jackson/src/main/java/io/github/photowey/kafka/plus/core/jackson/serialization/deserializer/JacksonDeserializer.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright © 2024 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package io.github.photowey.kafka.plus.core.jackson.serialization.deserializer;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import io.github.photowey.kafka.plus.core.jackson.serialization.ApplyObjectMapper;
+import org.apache.kafka.common.errors.SerializationException;
+import org.apache.kafka.common.header.Headers;
+import org.apache.kafka.common.serialization.Deserializer;
+import org.apache.kafka.common.utils.Utils;
+
+import java.io.UnsupportedEncodingException;
+import java.nio.ByteBuffer;
+import java.nio.charset.StandardCharsets;
+import java.util.Map;
+
+/**
+ * {@code JacksonDeserializer}
+ *
+ * @author photowey
+ * @date 2024/04/06
+ * @since 1.0.0
+ */
+public class JacksonDeserializer implements Deserializer