# lzh-1.8-jackson-spring-boot-starter **Repository Path**: coding_13/lzh-1.8-jackson-spring-boot-starter ## Basic Information - **Project Name**: lzh-1.8-jackson-spring-boot-starter - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-13 - **Last Updated**: 2025-08-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 这是一个基于 Jackson 的 Java 库,提供了多种自定义的序列化器(Serializer),用于在 Spring Boot 应用中对不同类型的数据进行特定格式的 JSON 序列化处理。这些序列化器可以用于处理 `BigDecimal`、`Double`、`Integer`、`Long`、`String` 等类型的数据,满足不同的数据格式化需求。 ### 特性 - **多种数据类型支持**:支持 `BigDecimal`、`Double`、`Integer`、`Long`、`Number`、`String` 等常见数据类型的自定义序列化。 - **灵活的格式化选项**: - 对 `BigDecimal` 提供了多种序列化方式,包括四舍五入、向下取整、乘以 100 后格式化、除以 10000 后取两位小数等。 - 对 `Double` 提供了保留两位或四位小数的格式化方式。 - 对 `Integer` 和 `Long` 提供了转换为 0 或保留原始值的序列化方式。 - 对 `String` 提供了密码字段的掩码处理和日期字符串的格式化处理。 - 对 `Number` 提供了百分比格式的序列化。 ### 使用方法 1. **引入依赖**:将 `lzh-jackson-spring-boot-starter` 作为依赖引入到 Spring Boot 项目中。 2. **注册自定义序列化器**:在 Spring Boot 应用中注册这些序列化器,可以通过 `Jackson2ObjectMapperBuilderCustomizer` 或直接配置 `ObjectMapper`。 3. **使用注解**:在实体类的字段上使用 `@JsonSerialize` 注解,指定需要使用的序列化器。 ### 示例 ```java import com.lzh.jackson.serializer.JacksonBigDecimalFloor2BitSerializer; import com.fasterxml.jackson.databind.annotation.JsonSerialize; public class Example { @JsonSerialize(using = JacksonBigDecimalFloor2BitSerializer.class) private BigDecimal amount; public Example(BigDecimal amount) { this.amount = amount; } public BigDecimal getAmount() { return amount; } public void setAmount(BigDecimal amount) { this.amount = amount; } } ``` ### 许可证 该项目遵循 MIT 许可证。有关详细信息,请参阅 [LICENSE](LICENSE) 文件。 ### 贡献 欢迎提交 Pull Request 和 Issue 报告。请确保代码风格与现有代码保持一致,并提供必要的测试用例。 ### 联系方式 如有任何问题或建议,请联系项目维护者。