jackson-kotlin-serialization-specialist

Diagnose Kotlin and Jackson serialization issues in Spring applications.

302|22|Updated Feb 12, 2026
One-click install
npx skills add https://github.com/JetBrains/skills --skill jackson-kotlin-serialization-specialist-jetbrains
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: jackson-kotlin-serialization-specialist
Source: https://github.com/JetBrains/skills/tree/main/jackson-kotlin-serialization-specialist
Command: npx skills add https://github.com/JetBrains/skills --skill jackson-kotlin-serialization-specialist-jetbrains

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Diagnose and design JSON serialization and deserialization behavior for Kotlin plus Jackson in Spring applications. Use when DTOs fail to deserialize, default parameters or nullability behave unexpectedly, date-time or enum formats drift, polymorphic payloads are involved, PATCH semantics must distinguish null from absent, or ObjectMapper changes risk breaking existing API or message contracts.

Core Features & Use Cases

  • Diagnose module presence and alignment with Kotlin Jackson ecosystem (jackson-module-kotlin, JavaTimeModule) and verify constructor semantics, default values, and nullability handling.
  • Validate field presence semantics, naming/inclusion strategies, and boundary-specific mapping across MVC, WebFlux, and messaging boundaries.
  • Provide actionable fixes and tests to ensure wire-format stability and contract compatibility across API versions.

Quick Start

Provide a minimal Kotlin data class and a failing JSON payload to reproduce the deserialization issue, then apply an explicit Jackson configuration to fix it.

Frequently Asked Questions about jackson-kotlin-serialization-specialist

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why does Jackson fail to deserialize my Kotlin data class with default parameters in Spring?

Jackson deserialization fails for Kotlin data classes when default parameters are ignored due to missing jackson-module-kotlin. Verify module presence and constructor semantics to restore default value handling and nullability.

How do I distinguish null from absent fields during JSON PATCH operations in Spring?

Distinguishing null from absent fields during JSON PATCH operations requires boundary-specific field presence semantics rather than broad global mapper changes. This maintains stable JSON contracts while differentiating omitted fields from explicit nulls.

How do I fix date-time formatting drift in Spring WebFlux using Jackson?

Fix date-time formatting drift by verifying JavaTimeModule presence and applying boundary-specific mapping rules across MVC, WebFlux, and messaging boundaries. This stabilizes date-time formats without risking existing API contracts.

Does configuring ObjectMapper globally risk breaking existing JSON contracts in Spring?

Configuring ObjectMapper globally risks breaking existing JSON contracts in Spring. Apply boundary-specific mapping behavior across MVC, WebFlux, and messaging boundaries to maintain wire-format stability and contract compatibility across API versions.

How do I handle polymorphic JSON payloads deserializing incorrectly with Jackson in Kotlin?

Polymorphic JSON payloads deserialize incorrectly when Jackson type handling and Kotlin constructor semantics are misaligned. Diagnose module alignment and apply explicit configuration to stabilize deserialization behavior for polymorphic types.