Java · Jackson JSON Naming

Jackson snake_case ↔ camelCase

Lass Java-Properties idiomatisch camelCase und übersetze externes snake_case-JSON an der Serialisierungsgrenze.

Von Camel Case Converter RedaktionVeröffentlicht 12.09.2026Zuletzt geprüft

@JsonNaming für ein Model oder DTO nutzen

import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;

@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public class UserProfile {
  private String firstName;
  private String avatarUrl;
}

SnakeCaseStrategy mappt firstName auf first_name ohne Annotation an jeder Property.

ObjectMapper für eine globale Konvention nutzen

ObjectMapper mapper = new ObjectMapper();
mapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE);
UserProfile profile = mapper.readValue(json, UserProfile.class);
String output = mapper.writeValueAsString(profile);

PropertyNamingStrategies.SNAKE_CASE wirkt auf externe Namen bei Serialisierung und Deserialisierung.

@JsonProperty für Ausnahmen nutzen

public class UserProfile {
  @JsonProperty("user_id")
  private String userId;

  @JsonProperty("display_name")
  private String displayName;
}

Explizite Mappings eignen sich für wenige externe Namen, die der globalen Regel nicht folgen.

Hinweise für Produktion

  • Eigentümerschaft der Konvention klar festlegen: Klasse, ObjectMapper oder einzelne Properties.
  • Naming Strategies ändern Property-Namen, nicht String-Werte im JSON.
  • Mehrere externe Namen, die auf eine Property normalisieren, sind ein API-Vertragsproblem.
  • Beispiele nutzen Jackson-2.x-Packages; Migration der eingesetzten Major-Version prüfen.

JSON-Grenze online testen

Teste verschachtelte Objekte, Arrays, Ausschlüsse, Stop Paths, Präfixe, Kollisionen und Key-Diff vor der Implementierung.

.json-Datei hier ablegen oder vom Gerät auswählen

Dateien werden nur im Browser gelesen. Maximale Größe: 5 MB.

Konvertiertes JSON
{
  "user_profile": {
    "first_name": "Ada",
    "created_at": "2026-09-12"
  }
}

Parsing, Dateilesen, Formatierung und Schlüsselkonvertierung laufen lokal im Browser. JSON wird nicht an einen Conversion-Server gesendet.