From 54cc8582e5cec1fcd0f384dab881ecb90b86df59 Mon Sep 17 00:00:00 2001 From: ZhouXY108 Date: Sat, 3 May 2025 15:35:12 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=20plusone-json-jacks?= =?UTF-8?q?on=20=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plusone-json/plusone-json-jackson/pom.xml | 43 +++++++++++++++++++ .../plusone/json/jackson/JacksonTools.java | 39 +++++++++++++++++ plusone-json/pom.xml | 42 ++++++++++++++++++ pom.xml | 1 + 4 files changed, 125 insertions(+) create mode 100644 plusone-json/plusone-json-jackson/pom.xml create mode 100644 plusone-json/plusone-json-jackson/src/xyz/zhouxy/plusone/json/jackson/JacksonTools.java create mode 100644 plusone-json/pom.xml diff --git a/plusone-json/plusone-json-jackson/pom.xml b/plusone-json/plusone-json-jackson/pom.xml new file mode 100644 index 0000000..968b6eb --- /dev/null +++ b/plusone-json/plusone-json-jackson/pom.xml @@ -0,0 +1,43 @@ + + + 4.0.0 + + + xyz.zhouxy.plusone + plusone-json + 1.1.0-SNAPSHOT + + + plusone-json-jackson + + + Jackson 相关模块 + + + + UTF-8 + 1.8 + 1.8 + 1.8 + + + + + xyz.zhouxy.plusone + plusone-commons + 1.1.0-SNAPSHOT + + + + com.fasterxml.jackson.core + jackson-databind + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + + + + diff --git a/plusone-json/plusone-json-jackson/src/xyz/zhouxy/plusone/json/jackson/JacksonTools.java b/plusone-json/plusone-json-jackson/src/xyz/zhouxy/plusone/json/jackson/JacksonTools.java new file mode 100644 index 0000000..1ffe2f0 --- /dev/null +++ b/plusone-json/plusone-json-jackson/src/xyz/zhouxy/plusone/json/jackson/JacksonTools.java @@ -0,0 +1,39 @@ +/* + * Copyright 2025 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 + * + * https://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 xyz.zhouxy.plusone.json.jackson; + +import com.fasterxml.jackson.databind.Module; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; + +public class JacksonTools { + + public static ObjectMapper newObjectMapperWithJavaTimeModule() { + return newObjectMapperWithModules(new JavaTimeModule()); + } + + public static ObjectMapper newObjectMapperWithModules(Module... modules) { + ObjectMapper objectMapper = new ObjectMapper(); + for (Module module : modules) { + objectMapper.registerModule(module); + } + return objectMapper; + } + + private JacksonTools() { + throw new IllegalStateException("Utility class"); + } +} diff --git a/plusone-json/pom.xml b/plusone-json/pom.xml new file mode 100644 index 0000000..0d23b79 --- /dev/null +++ b/plusone-json/pom.xml @@ -0,0 +1,42 @@ + + + 4.0.0 + + + xyz.zhouxy.plusone + plusone-parent + 1.1.0-SNAPSHOT + + + plusone-json + pom + + + plusone-json-jackson + + + + JSON 相关模块 + + + + UTF-8 + 1.8 + 1.8 + 1.8 + + + + + + xyz.zhouxy.plusone + plusone-dependencies + 1.1.0-SNAPSHOT + pom + import + + + + diff --git a/pom.xml b/pom.xml index addf887..aa0f062 100644 --- a/pom.xml +++ b/pom.xml @@ -12,6 +12,7 @@ plusone-commons plusone-dependencies + plusone-json